在開發網頁的過程中,不可避免的會遇到使用者要上傳圖片、檔案,在nodejs中我會使用multer這個library去做處理
Official Website: https://github.com/expressjs/multer
Init
var multer = require('multer'); storage = multer.diskStorage({ destination: function(req, file, cb) { cb(null, './upload') }, filename: function(req, file, cb) { cb(null, Date.now() + ".pdf") } }) var upload = multer({ storage: storage }).single('BP_file');
|
use
upload(req, res, function(err) { ... }
|
注意
- multer不支援使用HTTP:PUT
- form method, enctype
- ajax send FormData
form#post_form(method="post" ,enctype="multipart/form-data",action="#{result._id}")
script(type='text/javascript'). $(document).ready(function(){
$('#post_btn').click(function(){ console.log("click"); $('#post_form').submit(function() { console.log("submit");
var formData = new FormData($(this)[0]); alert(formData);
$.post($(this).attr("action"), formData, function(data) { alert(data); });
return false; });
|