Node.js 和 Request.js:找到要下载的文件扩展名?
Node.js and Request.js: Finding the file extension for a download?
我正在尝试使用 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
});
文件类型 npm 将解决您的问题。
npm 安装文件类型
const fileType = require('file-type');
http.get(url, res => {
res.once('data', chunk => {
res.destroy();
console.log(fileType(chunk));
//=> {ext: 'One of the supported file types', mime: 'The MIME type'}
});});
我正在尝试使用 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
});
文件类型 npm 将解决您的问题。
npm 安装文件类型
const fileType = require('file-type');
http.get(url, res => {
res.once('data', chunk => {
res.destroy();
console.log(fileType(chunk));
//=> {ext: 'One of the supported file types', mime: 'The MIME type'}
});});