我正在使用流星的“nimble:restivus”包来创建一个用于上传图像的 api。
HTML:
<form id="upload" onSubmit="upload()">
<input type="file" id="avatar" name="avatar" />
<input type="text" id="fname" name="fname" />
<button type="submit">Submit</button>
</form>
阿贾克斯请求:
var file_data = $("#avatar").prop("files")[0];
var form_data = new FormData();
form_data.append("file", file_data);
form_data.append("userId", '8NrAn4sR3bKmXi84u');
form_data.append("fileName", file_data.name);
$.ajax({
url: "http://localhost:3000/api/v1/uploadImages/",
cache: false,
contentType: 'application/x-www-form-urlencoded; charset=utf-8',
processData: false,
data: form_data,
type: 'POST'
});
接口代码:
var Api = new Restivus({
version: 'v1',
useDefaultAuth: true
});
Api.addRoute('uploadImages', { authRequired: false }, {
post: function(){
console.log("=====> UPLOAD IMAGES API <======");
console.log("this.bodyParams -> ",this.bodyParams)
return true;
}
});
服务器端响应(API):
当我将表单作为 POST 提交时,无法在服务器端获取图像。当我收到 body-params 但是当我尝试将图像作为 this.bodyParams.file 获取时,它返回未定义。
请指导我如何在提交表单后在服务器端进行图像处理。谢谢。