0

我为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 + "' />" );

   });
};
4

2 回答 2

1

好吧,Node.js(平台)不会将文件存储在任何地方。请求的主体只是作为Buffers接收'data'

formidable确实如此。它扫描并为您parse发送请求'data'并将任何multipart文件”保存在form.uploadDir

form.uploadDir = process.env.TMP || process.env.TMPDIR || process.env.TEMP || '/tmp' || process.cwd();

用于放置文件上传的目录。您可以稍后使用fs.rename(). 根据上面列出的第一个现有目录,在模块加载时选择默认目录。

于 2013-03-07T16:58:54.670 回答
0

它存储在我的 Windows 系统的临时文件中。

于 2013-03-07T17:01:44.097 回答