簡體   English   中英

從前端發送文件到后端花費的時間太長

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM