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 需要设置