получение соединения было прервано для загрузки файлов размером более 4 МБ

#c# #asp.net #file-upload #ms-word

#c# #asp.net #загрузка файла #ms-word

Вопрос:

Я разрабатываю какой-то веб-сайт с ASP.Net для загрузки и обработки некоторых документов MS Word. и я получаю, что соединение было прервано в Chrome или соединение было сброшено в Firefox для загрузки документов размером более 4 МБ. Я получаю эту ошибку, как только нажимаю кнопку, и она почти ничего не загружает.

я думаю, что это часть кода, которая вызывает ошибку (я использую общий тип ввода = file для слота загрузки)

  if (filMyFile.PostedFile != null)
    {
        // Get a reference to PostedFile object
        HttpPostedFile myFile = filMyFile.PostedFile;

        // Get size of uploaded file
        int nFileLen = myFile.ContentLength;

        // make sure the size of the file is > 0
        if (nFileLen > 0)
        {
            // Allocate a buffer for reading of the file
            byte[] myData = new byte[nFileLen];

            // Read uploaded file from the Stream
            myFile.InputStream.Read(myData, 0, nFileLen);

            // Create a name for the file to store
            string strFilename = Path.GetFileName(myFile.FileName);



            // Write data into a file
            WriteToFile(Server.MapPath(strFilename), ref myData);
  

как вы думаете, в чем проблема? Спасибо

Комментарии:

1. Скорее всего, это настройка IIS (или, возможно, брандмауэр / балансировщик нагрузки перед IIS) — потому что вы быстро получаете ошибку. Это также может быть ASP . Настройка NET maxRequestLength, но тогда вы должны увидеть исключение в вашем приложении.

Ответ №1:

4 МБ — это ограничение по умолчанию, установленное в machine.config. Вы можете увеличить лимит загрузки файла, добавив <httpRuntime/> элемент в файл web.config. Для более подробной информации прочитайте этот пост .