[英]Sending a file from front end to back end taking too long
我目前正在構建一個 Web 應用程序,它接受用戶上傳的 excel 文件(使用 Javascript),將其發送到后端(使用 C#)並在返回答案之前搜索特定字段。 到目前為止,我的代碼似乎適用於小文件,但是用戶將提供的文件每個大約 4MB。 當我上傳該大小的文件並使用斷點跟蹤代碼時,我意識到它甚至沒有到達 C# 代碼,連接似乎失敗了,我相信這是因為傳遞文件所需的時間太長。
以下是我的 javascript 代碼的一部分:
document.getElementById('selectedFile').addEventListener('change', function (event) {
var reader = new FileReader();
reader.onload = function () {
filename = event.target.files[0].name;
fileContent = btoa(new TextDecoder('utf-8').decode( new Uint8Array(this.result)));
console.log(fileContent);
}
reader.readAsArrayBuffer(this.files[0]);
},
$("#btnRunReport").on("click",
function () {
if (!validateFilename()) {
showErrorMsg("Please upload an EXCEL file with the extension .xlsx");
return;
}
var request = runReportRequest;
authorizeAndExecuteAjaxRequest(request);
}
);
function runReportRequest() {
toggleRunButton();
$("#textAreaRow").show();
var token = getUserToken();
RunMT4ConfigHub.invoke("RunReport", token, filename, fileContent);
}
所有這些代碼都可以完美運行,直到發送更大的文件。 有沒有辦法讓連接持續更長時間,或者可以分部分發送我的文件,以避免連接失敗?
在您的 web.config 中添加以下內容:
<configuration>
<system.web>
<httpRuntime maxRequestLength="xxx" />
</system.web>
</configuration>
我認為默認情況下文件大小限制為 4mb。 (其中 xxx 是 kb)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.