我正在研究网站的评论部分。在这里,对于一个特定的评论,用户可以附加多个文件,当提交表单时(我使用的是@Html.BeginForm
),HttpPostedFileBase
应该提交列表,然后在必须完成上传的方法中。在这种情况下,我有点迷失了。这样做的正确方法应该是什么?
PS:这些文件很小。
谢谢!
我正在研究网站的评论部分。在这里,对于一个特定的评论,用户可以附加多个文件,当提交表单时(我使用的是@Html.BeginForm
),HttpPostedFileBase
应该提交列表,然后在必须完成上传的方法中。在这种情况下,我有点迷失了。这样做的正确方法应该是什么?
PS:这些文件很小。
谢谢!
这是一个例子
public string Upload(image image, HttpPostedFileBase filedata)
{
var fileName = Path.GetFileName(filedata.FileName);
var path = Path.Combine(Server.MapPath("~/uploads/"), fileName);
var extension = Path.GetExtension(path);
filedata.SaveAs(path);
if (ModelState.IsValid)
{
image.image_name = fileName;
image.image_description = extension;
db.image.AddObject(image);
db.SaveChanges();
}
}
return "ok";
}
就这么简单,如果要上传多个文件。例如,如果有两个输入,其中类型是可以传递的“文件”。
@using (Html.BeginForm("Method", "Controller", FormMethod.Post, new { enctype = "multipart/form-data" }))
{
<input type='file' name='filename' id='fileid' />
<input type='file' name='filename' id='fileid' />
}
这可以很容易地在 post 方法中咳嗽为
public ActionResult Upload(IEnumerable<HttpPostedFileBase> filename)
{
//uploading to the server is done here.
}