2015-07-03 25 views
0

這是客戶端我的Ajax代碼:如何讀取使用FormData與Ajax發送的數據並將其存儲到本地文件夾?

$('#btn_file').on('change', function(e){ 
     e.preventDefault();    
     var data = new FormData(); 
     data.append('photo', $('#btn_file')[0].files[0]); 

     $.ajax({ 
      url: "/media/images", 
      type: "POST", 
      data: data, 
      processData: false, 
      contentType: false, 
      success: function (data) { 
       console.log(data); 
      } 
     }); 
    return false; 
}); 

這是我的服務器端:

app.post('/media/images', function (req, res) { 
    //What do I have to do to get an image and save it? And how do I rename the file? 

}); 

HTML:

<form id="send_image" ction=」/media/images」 method=」post」 enctype=」multipart/form-data」> 
    <input type="file" name="photo" id="btn_file"/> 
</form> 

我發現了幾個例子,但沒有其中的作品。我真的不知道問題出在哪裏。謝謝。

回答

0

在節點JS來管理文件上傳你可以使用強大:https://www.npmjs.com/package/formidable#readme

var formidable = require('formidable'); 
app.post('/media/images', function (req, res) { 
    var form = new formidable.IncomingForm(); 

    form.parse(req, function(err, fields, files) { 
     res.writeHead(200, {'content-type': 'image/jpeg'}); 
     res.write('received upload:\n\n'); 
     res.end(util.inspect({fields: fields, files: files})); 
    }); 
}); 

然後保存就可以使用「FS」 API的文件。

+0

優秀!它就像一個魅力!我發現了一個強大的例子,但我不能得到它的工作!謝謝!我可以得到更多的幫助與FS? – jumli

相關問題