2012-04-10 10 views
1

コードなぜアップロード例外

form.parse(request, function(error, fields, files) { 
    console.log('parsing done'); 

    fs.renameSync(files.upload.path, 'c:/tmp/test.png'); 
    response.writeHead(200, {'Content-Type': 'text/html'}); 
    response.write('received image:<br/>'); 
    response.write('<img src="/show" />'); 
    response.end(); 
}); 


例外情報

リターンbinding.rename(pathModule._makeLong(OLDPATH))、

エラーnodejs使用:いいえ、ENOENTそのようなファイルまたはディレクトリ 'C:\ DOCUME〜1 \ ADMINI〜1 \ LOCALS〜1 \ Temp \ esdafdace32323432a3f'
Object.renameSync(:330:fs.js 18)で3210        

答えて

4

このfs.rename() can't move file between two different disks
その他renameSyncは、新しいフォルダを作成しませんので、あなたはtmp/が存在しなければならないであることを確認しなければならないので。 あなたがそのようにようuploadDirを設定し、あなたのソースコードファイルフォルダにレコード生成tmpフォルダを必要とする:

var form = new formidable.IncomingForm(); 
    form.uploadDir = "tmp"; 
    console.log("about to parse"); 
    form.parse(request, function(error, fields, files) { 
    console.log(files.upload.path); 
    try{ 
     fs.renameSync(files.upload.path, "tmp/test.jpg"); 
    }catch(e){ 
     console.log(e); 
    } 
    response.writeHead(200, {"Content-Type": "text/html"}); 
    response.write("received image:<br/>"); 
    response.write("<img src='/show' />"); 
    response.end(); 
    }); 
+0

は '名前変更が新しいfolders'を作成しないことをありがとう!私の問題を解決! –

関連する問題