gpt4 book ai didi

javascript - 如何使用 JavaScript 从 DOM 获取 FileType?

转载 作者:行者123 更新时间:2023-12-03 06:41:29 26 4
gpt4 key购买 nike

这是一个像这样的 DOM。


<img id="this-is-the-image" src="http://192.168.1.100/Image_tmp/2016-06/d4eb8d">

我需要点击一个按钮,运行一个JS,然后下载这个图像文件。

我已经完成了按钮和下载脚本。

一些代码:

```

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);
}

```

我有一个问题。我只能获取src "http://192.168.1.100/Image_tmp/2016-06/d4eb8d"或名称d4eb8d ,但实际上图像是 .png.jpg 。浏览器可以查看,但是在我save之后传到我的电脑上,文件名变成d4eb8d ,不是d4eb8d.pngd4eb8d.jgp 。如何获取图像的真实类型以便指定 download_name?

最佳答案

您可以使用XMLHttpRequest().responseType设置为"blob"请求图像文件; blob.type.split("/")[1]哪里typeMIME Blob 的类型, [1]之后.split()将是jpg , jpeg , png或其他图像类型

  window.onload = function() {
var aLink = document.querySelector("a");
var fileName = "image";
var request = new XMLHttpRequest();
request.responseType = "blob";
request.open("GET", "http://example.com/d4eb8d");
request.onload = function() {
var blob = this.response;
var type = blob.type.split("/")[1];
console.log(type);
var evt = document.createEvent("HTMLEvents");
evt.initEvent("click", false, false);
aLink.download = fileName + "." + type;
aLink.href = URL.createObjectURL(blob);
aLink.dispatchEvent(evt);
}
request.send()
}

plnkr http://plnkr.co/edit/To4uZXL8PUph9qG3azvZ?p=preview

关于javascript - 如何使用 JavaScript 从 DOM 获取 FileType?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37937626/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com