ajax로 양식 데이터를 사용하여 이미지를 업로드하려고합니다. 아래 줄은 잘 작동하고 내 로컬 컴퓨터에 이미지를 저장하는 것 같습니다. ajax를 사용하여 파일 업로드 용 formdata 보내기
<form ref='uploadForm' id='uploadForm' action='/tab10/uploadImage' method='post' encType="multipart/form-data">
<input type="file" class="btn btn-default" name="file" />
<input type='submit' class="btn btn-default" value='Broadcast Image' />
</form>
하지만 그 대신 양식 속성으로 동작을 지정하는, 내가 아약스를 사용하여 전화를 걸 때, 일이 fine.Below을 작동하는 것 같지 않았다 내가 포스트 API를 만들기 위해 사용하고있는 코드입니다 ajax를 사용하여 호출하십시오.
HTML
<form ref='uploadForm' id='uploadForm' encType="multipart/form-data">
JQuery와는
$("form#uploadForm").submit(function (event) {
//disable the default form submission
event.preventDefault();
var formData = $(this).serialize();
console.log(formData);
$.ajax({
url: '/tab10/uploadImage',
type: 'POST',
data: formData,
async: false,
cache: false,
contentType: false,
processData: false,
success: function() {
alert('Form Submitted!');
},
error: function(){
alert("error in ajax form submission");
}
});
return false;
});
아래는 내가 이미지를 저장하기 위해 사용하고있는 코드입니다.
난 내 uploadimage 기능의 요청 데이터를 확인exports.uploadImage = function(req, resp) {
var res = {};
let file = req.files.file;
file.mv('./images/image', function(err) {
if (err) {
res.status = 500;
res.message = err;
// return res.status(500).send(err);
return resp.send(res);
}
res.status = 200;
res.message = 'File uploaded!';
return resp.send(res);
});
};
, 요청에 "파일"이라는 매개 변수가 후자의 경우에 전송되지 않는 것으로 보인다.
전체 URL을 사용해보세요. –
FYI :'async : false,'* 주 스레드의 동기 요청은 사용되지 않습니다. * - 회피하십시오. –
'매개 변수는 "파일"이 나중에 나올 때 보내지 않습니다. "폼을 보지 않으면 참된 신비가됩니다. –