Error:UNKNOWN,renameエラー処理

1046 ワード

今日expressでファイルアップロード中にエラーが発生しました.
                     Error: UNKNOWN, rename 'C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\e991f2e0a840da6c1040f
 
指定したファイルのアップロードディレクトリコードは次のとおりです.
 
fs.rename(tmp_path, target_path, function(err) {
    	     console.log(err); 
	     if (err) throw err;
	     //          , 
	     fs.unlink(tmp_path, function() {
	        if (err) throw err;
	        res.send('File uploaded to: ' + target_path + ' - ' + req.files.thumbnail.size + ' bytes');
	     });
});
 
UNKNOWNの未知を分析すると、renameで何かが未知であることを発見し、pathを印刷しました.
temp_path=C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\e991f2e0a840da6c1040f20630ffd601
target_path=e:/public/images/%C7%E0%CD%AD%B9%C5%B6%AD84.jpg
 
調べてみるとfsのrenameではパーティション間でファイルを移動することは許可されていません
それはe:/public/images/%C 7%E 0%CD%AD%B 9%C 5%B 6%AD 84をjpgはc:/public/images/%C 7%E 0%CD%AD%B 9%C 5%B 6%AD 84に変更する.jpgでいいので、テストアップロードに成功しました