크기 "4682933"의 자바 스크립트 blob을 보내고 Base64String에서 변환 한 "image/png"를 입력하려고합니다. 서버에서 아무것도 가져올 수 없습니다. FormCollection 객체는 항상 null입니다.blob 파일을 보낼 때 FormCollection이 null입니다.
var formData = new FormData();
formData.append("data", Blobx);
var request = new XMLHttpRequest();
request.open('POST', '/Patient/pdfSavefile');
request.send(formData);
은 여기에 파일을 검색하기위한 내 컨트롤러 코드입니다 :
다음은 서버에 클라이언트 요청을 만들기위한 내 코드입니다.
public bool pdfSavefile(FormCollection formdata)
{
var data = formdata["data"];
}
내가 내 webconfig 파일 나는 모든 것을 시도
<httpRuntime targetFramework="4.6.2" maxRequestLength="1048576" requestValidationMode="2.0" executionTimeout="10000" />
에 다음이, 아무것도 정말 작동합니다. 나는 거의 FormCollection
를 사용하지 않을
function base64ToBlob(base64, mime)
{
mime = mime || '';
var sliceSize = 1024;
var byteChars = window.atob(base64);
var byteArrays = [];
for (var offset = 0, len = byteChars.length; offset < len; offset += sliceSize) {
var slice = byteChars.slice(offset, offset + sliceSize);
var byteNumbers = new Array(slice.length);
for (var i = 0; i < slice.length; i++) {
byteNumbers[i] = slice.charCodeAt(i);
}
var byteArray = new Uint8Array(byteNumbers);
byteArrays.push(byteArray);
}
return new Blob(byteArrays, {type: mime});
}
그래서 파일을'data' 필드 아래에'pdfSavefile'에 base64 문자열로 게시하고 있습니까? – scgough
올바르게 기억하면 formdata는 console.log에 내용을 표시하지 않습니다. – xale94
@scgough 아니요 Base64String에서 변환 된 blob 인 페이로드가있는 양식 데이터로 게시하고 있습니다 –