由于没有文件输入帮助,我们如何安全地处理文件输入?
如果最好只有一个按钮
<input type="button" value="Upload File" />
并在新的弹出页面/窗口中处理它?</ p>
我有
<input type="file" value="Upload File" />
但是如何在代码中处理这个?
#region General
//
// GET: /Content/General
public ActionResult General()
{
GeneralModel model = new GeneralModel();
return View(model);
}
[HttpPost]
public void General(GeneralModel model)
{
}
#endregion
模型将不会填充,因此我需要做其他事情......只是不知道:(
非常感谢任何帮助。
谢谢。
答案 0 :(得分:1)
输入应该有一个名称:
<input type="file" name="File" />
然后,要处理上传的文件,您可以向视图模型添加属性:
public class GeneralModel
{
// The name of the property corresponds to the name of the input
public HttpPostedFileBase File { get; set; }
...
}
最后在你的控制器动作处理文件上传:
[HttpPost]
public void General(GeneralModel model)
{
var file = model.File;
if (file != null && file.ContentLength > 0)
{
// The user selected a file to upload => handle it
var fileName = Path.GetFileName(file.FileName);
var path = Path.Combine(Server.MapPath("~/App_Data/Uploads"), fileName);
file.SaveAs(path);
}
return View(model);
}
Phil Haack blogged关于ASP.NET MVC中的文件上传。