我正在撰写网站的评论部分。在这里,对于一个特定注释,用户可以附加多个文件,并且在提交表单时(我使用@Html.BeginForm
),应该提交HttpPostedFileBase
列表,然后在上传方法的内部完成。在这种情况下,我有点迷失。这样做的正确方法是什么?
PS:这些文件很小。
谢谢!
答案 0 :(得分:1)
这是一个例子
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";
}
答案 1 :(得分:0)
如此简单,如果要上传多个文件。例如,如果有两个输入,其中type是可以传递的“file”。
@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.
}