일부 양식 데이터 및 파일을 REST 끝점에 업로드하려고합니다. 다음 코드를 작성했습니다 -FormData 파일 + 데이터를 보낼 수
$(document).ready(function() {
var data = new FormData();
//upload file append to formdata
$("#catItemData #uploadC").on('change', function(){
$this = $(this);
var file = $this[0].files[0];
data.append("xlsx",file);
//input fields append to formdata
$("#catItemData #catSubmit").click(function(){
var formD = {
name: $("#name").val(),
type: $("#type").val()
};
for (var key in formD) {
data.append(key, formD[key]);
}
$.ajax({
type: "POST",
url: "http://localhost:8086/service/create",
data: data,
contentType: false,
cache: false,
processData: false,
success: function(response, status, xhr) {
//response
}
});
});
});
그러나 이것은 파일 내용을 업로드하지 않으며 415 지원되지 않는 미디어 유형 오류를 제공합니다. 페이로드는 다음과 같이 표시됩니다. -
------ WebKitFormBoundaryANhANgazbC1YNo1u Content-Disposition : form-data; 이름 = "xlsx"; 파일 이름 = "testfile.xlsx" 콘텐츠 형식 : 응용 프로그램/vnd.openxmlformats-officedocument.spreadsheetml.sheet
------ WebKitFormBoundaryANhANgazbC1YNo1u 내용 - 처리 : 폼 데이터; 이름 = "이름"
헬로
------ WebKitFormBoundaryANhANgazbC1YNo1u 내용 - 처리 : 폼 데이터;
나는 아마도 무슨 이름 = "유형"
플랫폼을 놓친 거지? 어떤 도움을 주셔서 감사합니다.
REST 엔드 포인트는 해당 파일 형식을 인식하지 못합니다. – Barmar
[Jquery form] (http://malsup.com/jquery/form/)을 사용하지 않는 이유는 무엇입니까? –
나는 명령 프롬프트를 사용하여 백엔드를 테스트했으며 즉시 번거 로움없이 Excel 파일을 업로드했습니다. 파일에 대한 콘텐츠 형식을 수정해야만 할 수 있습니까? 백엔드는 다중 파트/양식 데이터 및 응용 프로그램/옥텟 스트림 유형의 컨텐트를 처리 할 수 있습니다. – rnaikzz