Node.js

express.js 中上传文件的几个注意点

设置:

app.use(express.methodOverride());
app.use(express.bodyParser({uploadDir: "public/images",keepExtensions: true}));

bodyParser设置项一定要紧跟在 methodOverride后面,同时 uploadDir参数的目录需要手动创建。

表单上传:

使用表单上传时,需要给 <Form> 添加参数 enctype="multipart/form-data"

FormData & jQuery.ajax:

使用 FormData 结合 jQuery.ajax 方式上传时

var formData = new FormData();
formdata.append('file', files);
var uploadURL = '/upload';
$.ajax({
 url: uploadURL,
 type: 'POST',
 contentType: false,
 processData: false,
 cache: false,
 data: formData,
 success: function (data) {
 console.log(data);
 }
});

contentType: false, processData: false 需要设置