【问题标题】:nodejs: Where is image upload stored?nodejs:图片上传存储在哪里?
【发布时间】:2013-03-07 16:34:57
【问题描述】:

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

   });
};

【问题讨论】:

  • 我对强大的了解不多,但是console.log("the path is: " +files.upload.path); ?
  • 我想查看文件的位置,它说:/tmp/7fa95b95b9f......我不明白
  • 嗯,这不是很明显吗?它在 /tmp/7fa95b95b9f... 这就是路径。
  • Linux下上传到/tmp文件夹,文件名随机选择。
  • OMG 没看出我的tmp和系统的tmp有什么区别,你是对的,现在我找到了,thx :)

标签: image node.js upload


【解决方案1】:

嗯,Node.js(平台)不会将文件存储在任何地方。请求的正文被简单地接收为Buffers 的'data'

formidable 确实如此。它会为您扫描并parses 请求'data' 并在form.uploadDir 中保存任何multipart "files":

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

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

【讨论】:

  • 这段代码很有趣:'/tmp' || process.cwd(); :)
  • @freakish 好吧,我不认为它实际上是用作代码。 :) 这只是以代码形式编写的文档。
【解决方案2】:

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2015-01-28
    • 2012-05-31
    • 2014-01-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多