Comment accéder et de télécharger un fichier à partir d'un serveur en utilisant le HTML 5

Je suis actuellement en train de travailler sur un site web que les utilisateurs peuvent télécharger les binaires de fichiers média (principalement .mp3). Nous avons besoin d'un moyen d'un bouton "Télécharger" pour enregistrer le fichier de l'utilisateur à l'emplacement spécifié dans les préférences de leur navigateur, et il doit en quelque sorte d'afficher une barre de progression.

Actuellement, tout ce que je suis inquiète, c'est de trouver un moyen de mettre en œuvre ce à l'aide de HTML5 et de le faire de telle manière que dans les versions futures nous verrons plus tard être en mesure d'accéder à ce cours d'eau de sorte qu'une fois que nous obtenons cette base télécharger la partie codée, nous pouvons en quelque sorte de mettre en œuvre une barre de progression dans l'avenir.

Je sais HTML5 a un Fichier API, mais très peu de navigateurs permettent actuellement sa mise en œuvre, et nous avons besoin de travailler sur IE 7+ et régulièrement utilisé les versions de Chrome et Firefox.

Merci pour votre aide!

La plupart des navigateurs implémentent déjà téléchargement de fichier w/barre de progression. Je suis confus par la ligne "enregistrer le fichier à l'utilisateur l'emplacement spécifié dans les préférences de leur navigateur" - Si vous voulez que l'utilisateur puisse télécharger le fichier, il suffit de fournir un lien vers elle.
Très bien, mais ils veulent que la barre de progression à côté du bouton "Télécharger", donc distincte du navigateur de la barre de progression. Cela fait-il sens?
Pas du tout. Qu'est-ce que la barre de progression du Téléchargement bouton censé suivre les progrès de l'? Le fichier à télécharger?
Oui, c'est une deuxième barre de progression par toutes fins utiles. Lorsque vous cliquez sur télécharger, une petite barre de progression apparaîtra sur la page de votre navigateur (similaire à Ajax de la mode) et de montrer la progression du téléchargement de 0 à 100%.
La seule voie envisageable pour ce faire, côté navigateur serait de demander à votre fichier via AJAX et de l'écrire sur le disque via JavaScript. Malheureusement, la plupart (si pas tous) des navigateurs empêcher ceci pour des raisons de sécurité. Alternativement, vous pouvez configurer certains complexes de code côté serveur qui indique la quantité de données ont été envoyées au client, mais ce serait beaucoup plus d'efforts que ça vaut la peine. Votre meilleur pari est de convaincre les "ils", ce qui, il est préférable de simplement fournir le lien et laisser le navigateur gérer le téléchargement.

OriginalL'auteur trevorhinesley | 2011-10-05