2012-04-12 69 views
0

我想實現一個文件上傳系統,我真的不知道該怎麼做。asp.Net文件上傳MVC3

我正在尋找最簡單的方法來做到這一點。經過長時間的研究,我找到了這些解釋。

forums.asp.net/t/1678157.aspx/2/10

所以,這裏是東西,我認爲裏面做:

@Code 
    Dim fileName As String = "" 
    If (IsPost) Then 
     Dim uploadedFile = Request.Files(0) 
     fileName = Path.GetFileName(uploadedFile.FileName) 
     fileSavePath = Server.MapPath("~/Content/Uploads/" + fileName) 
     uploadedFile.SaveAs(fileSavePath) 
    End If 
End Code 

<form action="" method="post"> 
    @FileUpload.GetHtml(
     initialNumberOfFiles := 1, 
     allowMoreFilesToBeAdded := False, 
     includeFormTag := True, 
     uploadText := "Upload") 
</form> 

問題:GetHtml不是 'System.Web.UI.WebControls.FileUpload' 成員我能做些什麼來解決這個問題?這是處理文件上傳的好方法嗎?

回答

1

一個問題就可以了,因爲你在你的表格後忘了enctype="multipart/form-data"

然後,也許您的上傳插件安裝不正確。 我假設你正在使用WebMatrix,所以this article可以幫助

+0

我正在使用VS2010 ...它會改變嗎?有一個插件可以安裝?我沒有看到它......這可能是我整整一天的問題 – 2012-04-12 13:00:09

+0

我從來沒有使用它,但看起來似乎必須安裝一些東西(也許對於非VS2010傢伙)。 – Iridio 2012-04-12 13:07:19

+0

我安裝了這個:http://nuget.org/packages/microsoft-web-helpers但它沒有太大的幫助。有關「@ FileUpload.GetHtml」的錯誤已更改。現在,它告訴我FileUpload沒有被聲明,並且可能因爲保護級別而不可訪問。 – 2012-04-12 13:30:34

1

斯科特Hanselman在實施這一here

的代碼是在C#中一個偉大的文章,但它應該讓你開始

+0

Thx這篇文章。不要緊,如果它在C#中,我已經習慣了轉換器^^ – 2012-04-12 12:36:02

+0

我遇到了這篇文章的問題。不可能將'System.Web.HttpPostedFileBase'轉換爲'System.Web.HttpPostedFile'。我以前曾經遇到過這個問題。 – 2012-04-12 13:02:38