Voici un DOM comme celui-ci.Comment obtenir FileType d'un DOM avec JavaScript?
<img id="this-is-the-image" src="http://192.168.1.100/Image_tmp/2016-06/d4eb8d">
J'ai besoin de cliquer sur un bouton, lancer un JS, et télécharger ce fichier image.
J'ai terminé le bouton et le script de téléchargement.
Certains code:
`` `
function downloadFile(fileName, url) {
var aLink = document.createElement('a');
var blob = new Blob([url]);
var evt = document.createEvent("HTMLEvents");
getImageType(blob);
evt.initEvent("click", false, false);
aLink.download = fileName;
aLink.href = URL.createObjectURL(blob);
aLink.dispatchEvent(evt);
}
` ``
J'ai un problème. Je peux seulement obtenir le src "http://192.168.1.100/Image_tmp/2016-06/d4eb8d"
ou le nom d4eb8d
, mais en réalité l'image est .png
ou .jpg
. Le navigateur peut le voir, mais après que je save
à mon ordinateur, le nom de fichier soit d4eb8d
, pas d4eb8d.png
ou d4eb8d.jgp
. Comment puis-je obtenir le type réel de l'image afin que je puisse spécifier le nom de téléchargement?
Il semble que ce script récupère les données de la chaîne d'URL au lieu de img-data. Je pense que FileReader peut seulement lire le fichier de local. – Catscarlet
_ "Il semble que ce script récupère les données de la chaîne d'url au lieu de img-data.Je pense que FileReader ne peut lire que le fichier local. "_ Quel était le but de' new Blob ([url]) '? Vous pouvez utiliser' XMLHttpRequest() 'pour récupérer l'image en tant que' Blob', puis utiliser 'FileReader() 'avec' response' de 'XMLHttpRequest()' en paramètre '.readAsDataURL()'; voir http://plnkr.co/edit/To4uZXL8PUph9qG3azvZ?p=preview ou utiliser 'response.type' – guest271314
Voir la version 2 sur plnkr http://plnkr.co/edit/To4uZXL8PUph9qG3azvZ?p=preview, en utilisant 'XMLHttpRequest()' '.response.type.split ("/") [1]', où '.response' est' Blob' renvoyé par demande de l'image, au lieu de 'FileReader()' – guest271314