javascript - Node.js 和 Request.js : Finding the file extension for a download?

标签 javascript node.js requestjs

我正在尝试使用 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/

相关文章:

javascript - 仅使用 requirejs 通过管道传送 json 主体

Node.js和Requestjs : Pipe a Transform stream to Request. js作为文件进行上传

javascript - 将 SVG 转换为 Highcharts.SVGRenderer.prototype.symbols

javascript - 如何使用正则表达式在 JavaScript 中验证用户的出生日期?

node.js - 为什么 `npm list -g --depth=0` 中缺少模块?

javascript - 在 Mongoose 模式默认日期值中将月份添加到当前日期

javascript - Node.js : request js multipart 2nd level file and JSON. 字符串化

javascript - 返回透明图像的 webgl Canvas 的 toDataURL()

javascript - 为什么会打印出 10?

Javascript - 远程访问node.js应用程序