Невозможно загрузить изображение на сервер, используя Api в метеоре
Я использую пакет метеора '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>
Ajax Request:
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'
});
Код API:
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, он возвращает undefined.
Пожалуйста, сообщите мне, как я могу изображение на стороне сервера после отправки формы. Благодарю.