2012-06-20 4 views
0

У меня есть программа, которая разработана в MVC 3 Razor Syntax, но всякий раз, когда я отправляю на контроллер с файлом, он не работает, но если я просто отправлю сообщение на контроллер без файла, он будет работать , В чем может быть проблема ? Вот мой код:Сообщение MVC с файлом не работает

@using (Html.BeginForm("UpdateFile", "AdministerFiles", FormMethod.Post, 
new {enctype = "multipart/form-data"})) 

{ 
    string title = null; 
    string description = null; 
    string filename = null; 
    int dataid = 0; 
    int filesize = 0; 
    string filepath = null; 
    foreach (var fileDetails in ((RefDataLinks_mst[])@Model[1])) 
    { 
     title = fileDetails.DataTitle; 
     description = fileDetails.Description; 
     filename = fileDetails.DataFileName; 
     dataid = fileDetails.DataID; 
     filesize = fileDetails.FileSize; 
     filepath = fileDetails.DataFilePath; 
    } 

    <div id="updateLeftTopPart"> 
     <label class="addFileLabel"for="title">Title : </label><textarea rows="3" cols="50" name="title" required>@title</textarea> <br /> <br />  
    </div> 

    <div id="updateRightTopPart"> 
     <label for="description">Description : </label><textarea rows="2" cols="50" name="description" required>@description</textarea> 

    </div> 
    <div id="updateLeftPart"> 
     <label>Existing File : </label><label><a href="/BrowseData/[email protected]&[email protected]&[email protected]">@filename</a></label> 
    </div> 

    <div id="updateUploadFile"> 
     <label for="file">Upload New File Here :</label><input type="file" name="file" id="file"/> 
    </div> 

     <input type="hidden" value="@catid" name="catid"/> 
     <input type="hidden" value="@filename" name="existingFile"/> 
     <input type="hidden" value="@dataid" name="dataid"/> 
     <input type="hidden" value="@filesize" name="filesize"/> 
    <div id="updateActions"> 
     <input type="submit" value="Update File" /> 
     <input type="reset" value="Reset" /> 
    </div>   
} 

Эти параметры моего контроллер:

public ActionResult UpdateFile(HttpPostedFileBase file, int catid, int dataid, string title, string existingFile, string description, int filesize) 

Всякий раз, когда я отправляю, браузер говорит, что подключение к серверу было сброшен, пока страница грузила. В чем может быть проблема ?

ответ

3

Всякий раз, когда я отправляю сообщение, браузер говорит, что соединение с сервером было сброшено во время загрузки страницы. В чем может быть проблема ?

Предел по умолчанию 4 МБ, который вы можете увеличить в своем web.config, используя элемент <httpRuntime>.

<!-- Allow files up to 100MB to be uploaded --> 
<!-- Also increase the execution timeout as uploading 
100 MB files could take some time and ASP.NET won't wait that long --> 

<httpRuntime maxRequestLength="102400" executionTimeout="3600" /> 

Кстати, если вы у себя приложение в IIS 7+ также необходимо настроить requestLimits то же значение (в байтах на этот раз):

<system.webServer> 
    <security> 
     <requestFiltering> 
      <!-- Limit file uploads to 100MB --> 
      <requestLimits maxAllowedContentLength="104857600" /> 
     </requestFiltering> 
    </security> 
</system.webServer> 
Смежные вопросы