使用Node Express JS下载文件

少年席尔瓦

我正在尝试使用express js下载文件,但遇到了一些麻烦。
下面是功能:

var download = function(uri, filename, callback) {
  request
  .get(uri)
  .on('response', function (response) {
  var ext = response.headers['content-type'].split('/');
  filename += '.' + ext[1];
  })
  .pipe(fs.createWriteStream(filename));
};

问题是我不知道文件的扩展名,因此我需要在响应头中获取它,但是该ext[1]值不会使文件扩展名随文件名而增加。我什至不能通过引用设置变量以在函数外部进行操作。

yeya
  • 我认为您的管道在“文件名”获得任何数据之前已被触发。
  • 你不应该用'/'分开

尝试以下方法:

var mime = require('mime-types'); // After npm install mime-types

request
    .get(uri)
    .on('response', function (response) {

        var responseType = (response.headers['content-type'] || '').split(';')[0].trim();
        var ext = mime.extension(responseType);

        filename += '.' + ext;

        var fileStream = fs.createWriteStream(filename)
                    .on('finish', function() {
                        //Download complete
                    })

        this.pipe(fileStream);
     })

附注:您正在使用“请求”模块进行下载,而不是通过Express进行下载。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

Express js:如何使用POST请求下载文件

来自分类Dev

使用express.js下载文件的缓冲区

来自分类Dev

如何使用Express从url下载文件?

来自分类Dev

从具有JWT授权的express node.js下载文件

来自分类Dev

在Express JS中使用res.download成功下载文件后,如何使用res.redirect?

来自分类Dev

如何使用HTTPS使用Node.js下载文件?

来自分类Dev

使用node.js,流和promise下载文件

来自分类Dev

使用node.js从POST请求下载文件

来自分类Dev

为什么不使用Node.js下载文件?

来自分类Dev

如何使用node.js和http下载文件?

来自分类Dev

如何使用http post Node.js下载文件

来自分类Dev

无法下载 Express Node JS

来自分类Dev

在ajax成功node.js上下载文件

来自分类Dev

如何从Node.js中的URL同步下载文件

来自分类Dev

在Node.js中以打字稿下载文件

来自分类Dev

Node JS无法从github网址正确下载文件

来自分类Dev

如何从Node JS中的url下载文件?

来自分类Dev

使用带有axios的Node JS下载文件并确定MIME类型,文件类型

来自分类Dev

使用angular和express JS下载所有文件格式

来自分类Dev

使用Ext JS 6下载文件

来自分类Dev

使用Vue.js和Python Flask下载文件

来自分类Dev

使用Flask和JS从服务器下载文件

来自分类Dev

使用angular.js,asp.net下载文件

来自分类Dev

使用React.JS从Node.JS API REST(快速)下载文件(Axios Get)

来自分类Dev

使用React.JS从Node.JS API REST(快速)下载文件(Axios Get)

来自分类Dev

Express JS路由正在下载文件但未呈现文件

来自分类Dev

无法使用API从Google云端硬盘下载文件-node.js

来自分类Dev

如何使用带有Node.js代码的AWS Lambda从URL下载文件

来自分类Dev

无法使用Node.js SDK下载文件夹内的Blob

Related 相关文章

热门标签

归档