ASP.NET MVC를 통해 파일 업로드를 실현하고 싶습니다.

4922 단어 ASP.NET_MVC

전제


ASP.NET MVC를 통해 파일 업로드를 실현하고자 합니다.
  • 언어는 C#
  • .NET Framework 버전 4.72
  • Ajax.BeginForm을 사용한 Form 제작
  • 업로드할 컨트롤러가 일부 뷰에 구성
  • 발생한 문제/오류 메시지

  • 업로드할 파일을 선택하고submit을 진행하려면
    서버에서 파일을 받는 HttpPostedFileBase는 항상null로 바뀝니다.
  • Request.Files도 비어 있음
  • 해당 소스 코드


    Index.cshtml
        @using (Ajax.BeginForm("Upload", "Test", new AjaxOptions
        {
            HttpMethod = "POST",
            UpdateTargetId = "Result"
        }, new { id = "AjaxForm", enctype = "multipart/form-data" }))
        {
            @Html.AntiForgeryToken()
            <div id="Result">
                @Html.Partial("_Page", Model)
            </div>
        }
    
    _Page.cshtml
    <input type="file" id="File" name="File" />
    <input type="submit" value="アップロード" />
    
    <button type="submit" name="Search">検索</button>
    <button type="submit" name="Clear">クリア</button>
    
    
    TestController.cs
    [HttpPost]
    [ValidateAntiForgeryToken]
    public ActionResult Upload(string Search, string Clear, HttpPostedFileBase File)
    {
        // ここも null になる
        var uploadFile = Request.Files["File"];
    }
    

    시도해 본 일


    아래 페이지에서 보듯이 HttpPostedFileWrapper를 사용하는 방법도 시도해 봤습니다.
    https://www.ipentec.com/document/csharp-asp-net-mvc-upload-file
    하지만 이 방법으로 버튼submit을 눌렀을 때
    Internal Server Error가 발생합니다.

    아는 사람 있으면 알려주세요.
    잘 부탁드립니다.

    좋은 웹페이지 즐겨찾기