节点请求模块在本地托管上工作,但在 Heroku 中返回'Unhandled stream error in pipe',



我正在使用节点请求模块将外部文件上传到服务器。当我在本地测试它时,它可以很好地工作,但是当上传到Heroku时。每当我尝试上传图像时,我都会出现此错误。

内部/流/遗产:57投掷er;//管道中的未手动流误。

这是我的代码...

var fs = require('fs');
var request = require('request');
var path = require('path');
function downloadRemote(url, dest, filename, cb) {
    var file = fs.createWriteStream(dest + "/" + filename + path.extname(url));
    request.get(url, function(err, resp, body){
        if(err){
            console.log(err.message, ' file deleted');
            file.close();
            fs.unlinkSync(dest + "/" + filename + path.extname(url));
        } else {
            file.on('finish', function() {
                file.close(cb);
            });
        }
    })
    .pipe(file);
}
var url = 'external link here'
downloadRemote(url, 'downloadedAssets/imgs', 'spongebob, function(){
//call back function
}

有什么想法,为什么我会继续遇到此错误?

您更改调用函数并传递字符串文件名:

'Spongebob在此代码中'SpongeBob'

var url = 'external link here'
downloadRemote(url, 'downloadedAssets/imgs', 'spongebob', function(){
//call back function
}

最新更新