我正在使用节点请求模块将外部文件上传到服务器。当我在本地测试它时,它可以很好地工作,但是当上传到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
}