我正在尝试使用 request 下载几个文件,但我不知道如何找到它们的扩展名。其中一些是图像,一些是声音,一些是视频,但它们都来自一个末尾没有扩展名的 URL。
const request = require("request");
request.get({
url: "http://example.com/unknownextension",
})
.on("error", function(error) {
console.log(error);
})
.pipe(fs.createWriteStream("files/what.extension"));
当您访问此网站时,它下载得很好。想一想 Google 云端硬盘链接之类的东西。
除非这些文件具有有效的扩展名,否则我无法打开任何文件,因此我希望获得一些帮助。
最佳答案
网站的响应应通过 header 发送文件类型,很可能是 content-disposition
或
content-type
const request = require("request");
request.get({
url: "http://example.com/unknownextension",
})
.on("error", function(error) {
console.log(error);
})
.on('response', function (res) {
res.pipe(fs.createWriteStream("files/what." + res.headers['content-type'].split('/')[1]));
// it could also be content-dispostion or any other header, please check the headers first
});
关于javascript - Node.js 和 Request.js : Finding the file extension for a download?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47261468/