Télécharger partiellement un fichier avec Javascript

Nous travaillons actuellement sur un organisateur de la bibliothèque de musique à distance en utilisant javascript et j'aimerais savoir s'il existe un moyen de télécharger en utilisant js les derniers 128 octets d'un fichier MP3 afin d'obtenir ses balises ID3. Merci.

Vous ne pouvez pas le faire avec JavaScript. Vous aurez besoin de quelque chose sur le serveur (ce qui dépend exactement de votre technologie côté serveur) pour lire la partie pertinente du fichier. Ensuite, en JavaScript, vous pouvez simplement appeler cette partie côté serveur.

Mise à jour 1

Le protocole HTTP prend en charge le téléchargement de fichiers dans des parties (c'est ce que le). Mais, bien sûr, HTTP ne sait rien des fichiers MP3, alors vous devrez savoir quelle gamme du fichier contient la balise ID3 dans votre JavaScript.

Mise à jour 2

Il semble beaucoup plus réalisable que prévu initialement de télécharger un morceau d'une URL dans JavaScript pur:

xhr = new XMLHttpRequest(); xhr.open("GET", "http://<your domain>/"); xhr.setRequestHeader("Range", "bytes=-256"); xhr.send(); 

Cela demande les 256 derniers octets du fichier distant.

Notez que, bien sûr, votre demande est soumise aux limitations habituelles de même origine, de sorte que vous ne pouvez l'utiliser que pour récupérer des fichiers du serveur contenant votre HTML / JavaScript original.

Withouth utilisant un langage de programmation côté serveur: non.

Vous pouvez utiliser Ajax et PHP (ou tout autre langage de programmation) pour obtenir la balise ID3.

Avec jQuery, ça ressemble à ceci:

 function getInfo(func) { $.ajax({ url: "mp3info.php?file=" + url, dataType: "json", ready: function(result) { func(result); } }); } 

Et vous l'utilisez comme ceci:

 getInfo(function(mp3info) { alert(mp3info.id3); }); 

Ensuite, votre fichier PHP ressemble à ceci:

 <?php $info = array(); //The MP3 info array echo json_encode($info, true); ?>