错误列表
IDE::Visual Studio 2015
.NET Framework版本: 4.5.1
项目模板::ASP.NET MVC
注意:
答案 0 :(得分:1)
由于使用的是ASP.NET,因此不能使用OpenFileDialog
类。它适用于Windows Forms应用程序。
您需要在网页上使用“文件上传”输入来上传文件。 Here is one example来自MSDN,使用FileUpload控件。
使用HTML输入的简单示例:
<input type="file" name="file" />
您还必须在文件后面更新代码。
编辑: 我没有意识到这是针对MVC项目的,而不是针对Web表单的。
由于您没有使用Webforms,因此将无法使用asp:FileUpload控件。但是,在MVC中做到这一点并不难。 Refer to this article以获得完整示例。我摘录了下面的一些文章。
您将采取某种措施来呈现页面并接受控制器上发布的文件:
[HttpGet]
public ActionResult UploadFile()
{
return View();
}
[HttpPost]
public ActionResult UploadFile(HttpPostedFileBase file)
{
try
{
if (file.ContentLength > 0)
{
string _FileName = Path.GetFileName(file.FileName);
string _path = Path.Combine(Server.MapPath("~/UploadedFiles"), _FileName);
file.SaveAs(_path);
}
ViewBag.Message = "File Uploaded Successfully!!";
return View();
}
catch
{
ViewBag.Message = "File upload failed!!";
return View();
}
}
在您看来,您将有一个表格来上传和提交文件:
@using(Html.BeginForm("UploadFile","Upload", FormMethod.Post, new { enctype="multipart/form-data"}))
{
<div>
@Html.TextBox("file", "", new { type= "file"}) <br />
<input type="submit" value="Upload" />
@ViewBag.Message
</div>
}
答案 1 :(得分:0)
您不能使用OpenFileDialog,因为MVC不允许使用,所以您要做的就是使用
<input type="file"/>
在前端
编辑:更加清楚一点,以为您尝试在作为客户端的计算机上运行OpenFileDialog命令,通常在Web中,您不能使用这种方法
此处有更详细的说明OpenFileDialog in cshtml