我为nodejs图片上传做了一个教程。
问题:nodejs在哪里存储上传的图像?
我在本地工作mit localhost:8888 (我是nodejs和编程的新手)
requestHandler.upload = function( response, request ) {
console.log( "Request for 'upload' is called." );
var form = new formidable.IncomingForm();
console.log( "Preparing upload" );
form.parse( request, function( error, fields, files ){
console.log( "Completed Parsing" );
if( error ){
response.writeHead( 500, { "Content-Type" : "text/plain" } );
response.end( "CRAP! " + error + "\n" );
return;
}
console.log("the path is: " +files.upload.path);
fs.renameSync( files.upload.path, "/tmp/" + files.upload.name );
response.writeHead( 200, { "Content-Type" : "text/html" } );
response.write( "received image <br />" );
response.end( "<img src='/show?i=" + files.upload.name + "' />" );
});
};
答案 0 :(得分:1)
嗯,Node.js(平台)不会将文件存储在任何地方。请求正文仅作为'data'
的Buffer
收到。
formidable
确实如此。它会为您扫描并parse
请求'data'
,并在form.uploadDir
内保存所有multipart
“文件”:
form.uploadDir = process.env.TMP || process.env.TMPDIR || process.env.TEMP || '/tmp' || process.cwd();
用于放置文件上传的目录。您可以稍后使用
fs.rename()
移动它们。在模块加载时选择默认目录,具体取决于上面列出的第一个现有目录。
答案 1 :(得分:0)
它存储在我的Windows系统的临时文件中。