私はウェブサイトのコメント部分に取り組んでいます。ここで、1つの特定のコメントについて、ユーザーは複数のファイルを添付できます。フォームが送信されると(私はを使用しています@Html.BeginForm
)、のリストをHttpPostedFileBase
送信してから、メソッド内でアップロードを実行する必要があります。私はこのシナリオでちょっと迷っています。これを行うための適切な方法は何ですか?
PS:これらのファイルはサイズが小さいです。
ありがとうございました!
私はウェブサイトのコメント部分に取り組んでいます。ここで、1つの特定のコメントについて、ユーザーは複数のファイルを添付できます。フォームが送信されると(私はを使用しています@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";
}
アップロードするファイルが複数ある場合は、簡単です。たとえば、渡すことができるタイプが「ファイル」である 2 つの入力がある場合。
@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' />
}
これは、ポストメソッドで簡単に咳をすることができます
public ActionResult Upload(IEnumerable<HttpPostedFileBase> filename)
{
//uploading to the server is done here.
}