사용자가 속성 목록을 추가 할 수있는 양식이 있습니다. 사용자가 입력해야하는 데이터 외에도 사용자는 다수의 이미지를 업로드 할 수 있습니다. 사용자가 한 번에 둘 이상의 파일을 업로드 할 수 있도록 HTML5 다중 속성을 사용하고 있습니다.여러 파일 업로드 - MVC .. 총 파일 크기 제한이 있습니까?
HttpPost Add 메서드는 하나의 이미지를 업로드 할 때 항상 발생합니다. 그러나 여러 이미지를 업로드하려고하면 메서드가 실행되지 않습니다. 지금까지는 오류가 발생하지 않았으므로 구현에 어떤 문제가 있는지 잘 모르겠습니다.
HTML
@using (Html.BeginForm("AddProperty", "User", FormMethod.Post, new { enctype = "multipart/form-data" }))
{
<fieldset>
<legend>Property</legend>
<div class="editor-label">
Title
</div>
<div class="editor-field">
<input type="text" name="title" />
</div>
<div class="editor-label">
Description
</div>
<div class="editor-field">
<input type="text" name="desc" />
</div>
@* ... more input fields... *@
<div class="editor-label">
Images
</div>
<div class="editor-field">
<input type="file" multiple="multiple" name="file" />
</div>
<p>
<input type="submit" value="Create" />
</p>
</fieldset>
}
컨트롤러는
[HttpPost]
public ActionResult AddProperty(FormCollection form, IEnumerable<HttpPostedFileBase> file)
{
Property p = new Property();
p.Title = form["title"];
p.Description = form["desc"];
// ... setting Property fields
new PropertiesBL().AddProperty(p);
for (int i = 0; i < file.Count(); i++)
{
// ... loop and save uploaded file(s)
}
}
어떤 도움을 주시면 감사하겠습니다.
편집 - 또한 테스트
내가 파일 업 로더를 포함하는 단지 형태로 새로운 뷰를 생성 한 파일 업로드를 테스트합니다. 다른 파일 형식을 업로드하려고했습니다. 내가 언급 한 것은 예를 들어 10 개의 문서를 업로드 할 때 Upload 메소드가 실행되었다는 것입니다. 그러나 3 개의 (큰) 이미지를 업로드하려고 할 때 그것은 발사되지 않았습니다. 업로드되는 총 바이트 수에 관해서는 어떤 종류의 제한이 있다고 생각하고 있습니다 ... 이것이 의미가 있는지 확실하지 않습니다.
간단한 테스트
<form method="post" action="/Test/Upload" enctype="multipart/form-data">
<input type="file" multiple="multiple" name="images" />
<input type="submit" value="Upload" />
</form>
[HttpPost]
public ActionResult Upload(IEnumerable<HttpPostedFileBase> images)
{
return RedirectToAction("Index");
}
또한 개별적으로 여러 파일을 업로드 시도했습니다. 3 개의 큰 이미지 (각 이미지 약 2 MB)를 업로드하려고 시도 할 때 메서드가 실행되지 않았습니다. 나는 이것이 어떤 종류의 총 최대 파일 크기와 관련된 문제라는 것을 거의 확신합니다.
<form method="post" action="/Test/Upload" enctype="multipart/form-data">
<input type="file" name="image_1" />
<input type="file" name="image_2" />
<input type="file" name="image_3" />
<input type="submit" value="Upload" />
</form>