2012-04-12 49 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