1

我正在使用流星的“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):

请检查附加图像以获取服务器端的控制台输出 - 服务器端 api 上的控制台输出

当我将表单作为 POST 提交时,无法在服务器端获取图像。当我收到 body-params 但是当我尝试将图像作为 this.bodyParams.file 获取时,它返回未定义。

请指导我如何在提交表单后在服务器端进行图像处理。谢谢。

4

0 回答 0