【发布时间】:2017-12-15 15:09:00
【问题描述】:
我正在尝试从 url 下载文件:
http://distedu.ukma.edu.ua/mod/resource/view.php?id=5475
重定向到文件真正所在的其他网址。
问题是我需要以可读的格式保存文件。有没有办法以这种方式下载文件的扩展名?
我的应用程序是 phonegap/cordova,但我认为我可以使用任何可以与 HTML5 文件 api 一起使用的东西。或者任何提供中间数据的东西,而不是立即将其写入文件。
那里的文件大多是pdf或pptx。
编辑:
我尝试通过发送 Head 请求来获取 mime 类型:
var testUrl = window.location.href;
var xhttp = new XMLHttpRequest();
xhttp.open('HEAD', testUrl);
xhttp.onreadystatechange = function () {
if (this.readyState == this.DONE) {
console.log(this.status);
var contentType = this.getResponseHeader("Content-Type");
Debug.log(contentType.)
}
};
xhttp.send();
这给了我以下字符串:
text/html; charset=UTF-8;
我认为这意味着不需要指定更具体的类型?
【问题讨论】:
-
我对phonegap/cordova一无所知,但一般来说,文件扩展名在技术上是没有意义的,真正的信息包含在mimetype中——例如,application/pdf for pdf 或 application/vnd.openxmlformats-officedocument.presentationml.presentation 用于 pptx。
-
@manassehkatz 您能否提供从 javascript 中的下载 url 获取 mime 类型的任何选项?
-
在上面的示例中,
text/html是 mimetype。我从未使用过 HEAD 请求 - 似乎它应该提供与 GET 相同的标头,但您可能想尝试使用 GET 来确定相同的代码。
标签: javascript cordova url download file-transfer