0
我試圖發送一個尺寸爲「4682933」的javascript blob,並輸入從Base64String轉換而來的「image/png」。我無法在服務器上檢索任何內容。 FormCollection對象始終爲空。發送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" />
我已經試過各種以下,沒有什麼真正的作品。
我轉換Base64String代碼BLOB
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});
}
那麼,你是否將該文件作爲base64字符串發佈到'data'字段下的'pdfSavefile'? – scgough
如果我沒有記錯,formdata從不在console.log中顯示其內容。 – xale94
@scgough不,我把它作爲表單數據發佈,它是從Base64String轉換成blob的有效載荷 –