就像您在我的图表中看到的,每个Post
都可以有多个PostImage
。
如何在ASP.NET MVC中上传图像?我不知道每个帖子可以有多少张图片,所以我不喜欢我的做法:
<label for="file1">Filename:</label>
<input type="file" name="files" id="file1" />
<label for="file2">Filename:</label>
<input type="file" name="files" id="file2" />
在我上传图片后,我想要预览图片,
这是我到目前为止所做的。
@using (Html.BeginForm("Edit", "BlogPost", FormMethod.Post, new { nctype="multipart/form-data" }))
{
@Html.AntiForgeryToken()
@Html.ValidationSummary(true)
<fieldset>
<legend>Post</legend>
@Html.HiddenFor(model => model.ID)
<div class="editor-label">
@Html.LabelFor(model => model.Title)
</div>
<div class="editor-field">
@Html.EditorFor(model => model.Title)
@Html.ValidationMessageFor(model => model.Title)
</div>
<label for="file1">Filename:</label>
<input type="file" name="files" id="file1" />
<label for="file2">Filename:</label>
<input type="file" name="files" id="file2" />
<input type="submit" />
<p>
<input type="submit" value="Save" />
</p>
</fieldset>
控制器:
[HttpPost]
[ValidateAntiForgeryToken]
public ActionResult Edit(Post post, int[] selectedCategories, IEnumerable<HttpPostedFileBase> files)
{
if (ModelState.IsValid)
{
//Code to Edit
}
}
答案 0 :(得分:-1)
使用BlueImp jQuery File Uploader解决方案:https://blueimp.github.io/jQuery-File-Upload/ 它提供:
“..多个文件选择,拖放支持,进度条,验证和预览图像”