我在JavaScript中创建了一个从URL下载图像并将图像写入磁盘的函数。该功能适用于我下载的大多数图像,但有大约30个(400个中)已损坏且无法打开。文件已创建,但没有关联的扩展名,详细信息显示该文件为0 kB。我知道源文件没有损坏,因为我在C#中有一个适用于所有文件的工作解决方案。
var download = function(url, destination, callback) {
fs.exists(destination, function(exists){
if (!exists){
http.get(url, function(response) {
var imageData = '';
response.setEncoding('binary');
response.on('data', function(chunk){
imageData += chunk;
});
response.on('end', function(){
fs.writeFile(destination, imageData, 'binary', function(error){
if(error){
console.log(error);
} else{
callback();
}
});
});
});
}
});
};
我正在使用Windows计算机,不确定这是否会出现问题,所以我想我会提到它。
答案 0 :(得分:0)
事实证明我没有在路径字符串中检查非法字符。 在我的C#解决方案中,我使用了不同的文件名。一旦我用正则表达式删除了非法字符,一切都很好。