我郵寄到以下控制器動作:不能同時上傳多個文件中的MVC
<EmployeeAuthorize()>
<HttpPost()>
Function SendNewMessage(ByVal files1 As HttpPostedFileBase, ByVal files2 As HttpPostedFileBase) As JsonResult
Debug.Print("files1=" + files1.ToString)
Debug.Print("files2=" + files2.ToString)
Dim result = New Dictionary(Of String, String)
Dim fileName = Path.GetFileName(files1.FileName)
Dim filePath = Path.Combine(Server.MapPath("~/App_Data/uploads"), fileName)
files1.SaveAs(filePath)
Dim fileName2 = Path.GetFileName(files2.FileName)
Dim filePath2 = Path.Combine(Server.MapPath("~/App_Data/uploads"), fileName)
files2.SaveAs(filePath)
Return Json(result)
End Function
我上Debug.Print("files2=" + files2.ToString)
行一個錯誤,指出,「NullReferenceException Object reference not set to an instance of an object.
」
這是我正在使用的視圖:
@Using Html.BeginForm("SendNewMessage", "Message", FormMethod.Post, New With {.id = "sendForm", .enctype="multipart/form-data"})
@<div class="sendBox">
<h2 style="margin: 10px 0 0 0;">Attachments:</h2>
<label>Attachment 1: <input type="file" name="files1" id="file1" class="files"/></label>
<label>Attachment 2: <input type="file" name="files2" id="file2" class="files"/></label>
<label>Attachment 3: <input type="file" name="files3" id="file3" class="files"/></label>
<input type="submit" value="Send" />
</div>
End Using
第一個文件沒問題(files1
)。爲什麼我不能上傳多個文件?
你把一個破發點,並期待以確保'.Files'有一個以上的? – Eonasdan
我還沒有嘗試過。我不熟悉使用斷點的做法(雖然我知道它很基本)... – user1477388
將光標放在'For Each i In Request.Files'(或現在是w/e)並按下'F9 '然後按下'F5',這會使你的程序進入調試模式。嘗試上傳您的文件。一旦你的代碼達到這一點,它將停止。然後你可以檢查'.Files' – Eonasdan