Asp.net mvc 3 如何使用MVC 3在web浏览器中查看上载的文件?
我正在尝试允许我的网站的用户通过单击附件图像在web浏览器中查看他们刚刚上载的文件。我已经写了上传功能的代码,现在我只需要一些帮助查看上传完成后的图像。下面我包括了控制器的上传功能和视图附件功能所在的索引视图。如果您需要更多代码来帮助解决此问题,请告诉我,并感谢您抽出一天的时间来帮助我 控制器Asp.net mvc 3 如何使用MVC 3在web浏览器中查看上载的文件?,asp.net-mvc-3,file-upload,download,Asp.net Mvc 3,File Upload,Download,我正在尝试允许我的网站的用户通过单击附件图像在web浏览器中查看他们刚刚上载的文件。我已经写了上传功能的代码,现在我只需要一些帮助查看上传完成后的图像。下面我包括了控制器的上传功能和视图附件功能所在的索引视图。如果您需要更多代码来帮助解决此问题,请告诉我,并感谢您抽出一天的时间来帮助我 控制器 [Authorize] public String Uploadfile(HttpPostedFileBase file) { if (file.C
[Authorize]
public String Uploadfile(HttpPostedFileBase file)
{
if (file.ContentLength > 0)
{
var fileName = Path.GetRandomFileName();
var path = Path.Combine(Server.MapPath("~/Uploads"), fileName);
file.SaveAs(path);
}
return file.FileName;
}
查看
@model PagedList.IPagedList<DBFirstMVC.Models.bug>
@{
ViewBag.Title = "BugIndex";
Layout = "~/Views/Shared/_Layout.cshtml";
}
@using PagedList;
<h2 class="corporate sifr">@ViewBag.Title</h2>
<div class="crossband">
@using (Html.BeginForm())
{
<div class="lefty">
Search Bugs Index: @Html.TextBox("SearchString")
</div>
<input type = "submit" value = "Search" class = "button1" />
}
<div class="righty">
@Html.ActionLink("Report a Bug", "ReportBugs", "Support", null, new { @class = "button1" })
</div>
</div>
<div class="crossband">
<div class="lefty">
Page @(Model.PageCount < Model.PageNumber ? 0 : Model.PageNumber)
of @Model.PageCount
@if (Model.HasPreviousPage)
{
@Html.ActionLink("<<", "", new { page = 1, sortOrder = ViewBag.CurrentSort, currentFilter = ViewBag.CurrentFilter, Versions = ViewBag.SelectedVersion })
@Html.Raw(" ");
@Html.ActionLink("< Prev", "", new { page = Model.PageNumber - 1, sortOrder = ViewBag.CurrentSort, currentFilter = ViewBag.CurrentFilter, Versions = ViewBag.SelectedVersion })
}
else
{
@:<<
@Html.Raw(" ");
@:< Prev
}
@if (Model.HasNextPage)
{
@Html.ActionLink("Next >", "", new { page = Model.PageNumber + 1, sortOrder = ViewBag.CurrentSort, currentFilter = ViewBag.CurrentFilter, Versions = ViewBag.SelectedVersion })
@Html.Raw(" ");
@Html.ActionLink(">>", "", new { page = Model.PageCount, sortOrder = ViewBag.CurrentSort, currentFilter = ViewBag.CurrentFilter, Versions = ViewBag.SelectedVersion })
}
else
{
@:Next >
@Html.Raw(" ")
@:>>
}
</div>
<div class="righty">
Showing Records @Model.FirstItemOnPage to @Model.LastItemOnPage from @Model.TotalItemCount records
</div>
</div>
<table>
<tr>
<th>
@Html.ActionLink("Date Submitted", "BugIndex", new { sortOrder = ViewBag.currentOrder == "asc" ? "desc" : "asc", sortField = "date_submitted"})
@if (ViewBag.currentOrder == "asc" && ViewBag.CurrentField == "date_submitted"){<img id="asc" src="@Url.Content("~/Images/ico_tablesortoffset_asc.gif")" alt = "Asc Arrow" />}
@if (ViewBag.currentOrder == "desc" && ViewBag.CurrentField == "date_submitted"){<img id="desc" src="@Url.Content("~/Images/ico_tablesortoffset_desc.gif")" alt = "Desc Arrow" />}
</th>
<th>
@Html.ActionLink("Submitted By", "BugIndex", new { sortOrder = ViewBag.currentOrder == "asc" ? "desc" : "asc", sortField = "submitted_by"})
@if (ViewBag.currentOrder == "asc" && ViewBag.CurrentField == "submitted_by"){<img id="asc" src="@Url.Content("~/Images/ico_tablesortoffset_asc.gif")" alt = "Asc Arrow" />}
@if (ViewBag.currentOrder == "desc" && ViewBag.CurrentField == "submitted_by"){<img id="desc" src="@Url.Content("~/Images/ico_tablesortoffset_desc.gif")" alt = "Desc Arrow" />}
</th>
<th>
@Html.ActionLink("Description", "BugIndex", new { sortOrder = ViewBag.currentOrder == "asc" ? "desc" : "asc", sortField = "Description" })
@if (ViewBag.currentOrder == "asc" && ViewBag.CurrentField == "Description"){<img id="asc" src="@Url.Content("~/Images/ico_tablesortoffset_asc.gif")" alt = "Asc Arrow" />}
@if (ViewBag.currentOrder == "desc" && ViewBag.CurrentField == "Description"){<img id="desc" src="@Url.Content("~/Images/ico_tablesortoffset_desc.gif")" alt = "Desc Arrow" />}
</th>
<th>
@Html.ActionLink("Priority", "BugIndex", new { sortOrder = ViewBag.currentOrder == "asc" ? "desc" : "asc", sortField = "Priority" })
@if (ViewBag.currentOrder == "asc" && ViewBag.CurrentField == "Priority"){<img id="asc" src="@Url.Content("~/Images/ico_tablesortoffset_asc.gif")" alt = "Asc Arrow" />}
@if (ViewBag.currentOrder == "desc" && ViewBag.CurrentField == "Priority"){<img id="desc" src="@Url.Content("~/Images/ico_tablesortoffset_desc.gif")" alt = "Desc Arrow" />}
</th>
<th>
@Html.ActionLink("Estimated Completion Date", "BugIndex", new { sortOrder = ViewBag.currentOrder == "asc" ? "desc" : "asc", sortField = "estimated_completion_date" })
@if (ViewBag.currentOrder == "asc" && ViewBag.CurrentField == "estimated_completion_date"){<img id="asc" src="@Url.Content("~/Images/ico_tablesortoffset_asc.gif")" alt = "Asc Arrow" />}
@if (ViewBag.currentOrder == "desc" && ViewBag.CurrentField == "estimated_completion_date"){<img id="desc" src="@Url.Content("~/Images/ico_tablesortoffset_desc.gif")" alt = "Desc Arrow" />}
</th>
<th>
@Html.ActionLink("Status", "BugIndex", new { sortOrder = ViewBag.currentOrder == "asc" ? "desc" : "asc", sortField = "status" })
@if (ViewBag.currentOrder == "asc" && ViewBag.CurrentField == "status"){<img id="asc" src="@Url.Content("~/Images/ico_tablesortoffset_asc.gif")" alt = "Asc Arrow" />}
@if (ViewBag.currentOrder == "desc" && ViewBag.CurrentField == "status"){<img id="desc" src="@Url.Content("~/Images/ico_tablesortoffset_desc.gif")" alt = "Desc Arrow" />}
</th>
<th>
@Html.ActionLink("Developer Comments", "BugIndex", new { sortOrder = ViewBag.currentOrder == "asc" ? "desc" : "asc", sortField = "developer_comments" })
@if (ViewBag.currentOrder == "asc" && ViewBag.CurrentField == "developer_comments"){<img id="asc" src="@Url.Content("~/Images/ico_tablesortoffset_asc.gif")" alt = "Asc Arrow" />}
@if (ViewBag.currentOrder == "desc" && ViewBag.CurrentField == "developer_comments"){<img id="desc" src="@Url.Content("~/Images/ico_tablesortoffset_desc.gif")" alt = "Desc Arrow" />}
</th>
<th>
@Html.ActionLink("Attachment", "BugIndex", new { sortOrder = ViewBag.currentOrder == "asc" ? "desc" : "asc", sortField = "attachment" })
@if (ViewBag.currentOrder == "asc" && ViewBag.CurrentField == "attachment"){<img id="asc" src="@Url.Content("~/Images/ico_tablesortoffset_asc.gif")" alt = "Asc Arrow" />}
@if (ViewBag.currentOrder == "desc" && ViewBag.CurrentField == "attachment"){<img id="desc" src="@Url.Content("~/Images/ico_tablesortoffset_desc.gif")" alt = "Desc Arrow" />}
</th>
<th></th>
</tr>
@{
var row_class = "odd";
}
@foreach (var item in Model)
{
row_class = row_class == "odd"? "even" : "odd";
<tr class="@row_class">
<td>
@Html.DisplayFor(modelItem => item.date_submitted)
</td>
<td>
@Html.DisplayFor(modelItem => item.submitted_by)
</td>
<td>
@Html.DisplayFor(modelItem => item.description)
</td>
<td>
@Html.DisplayFor(modelItem => item.priority)
</td>
<td>
@Html.DisplayFor(modelItem => item.estimated_completion_date)
</td>
<td>
@Html.DisplayFor(modelItem => item.status)
</td>
<td>
@Html.DisplayFor(modelItem => item.developer_comments)
</td>
<td>
@if (item.attachment != null){<img id="success" src="@Url.Content("~/Images/ico_confirmation_sml.gif")" alt = "attachment" />}
@if (item.attachment == null) {<img id="failure" src="@Url.Content("~/Images/ico_error_sml.gif")" alt = "no attachment" />}
<img src = "@Url.Content(string.Format("~/Uploads/{0}", item.attachment))" alt = "download" />
</td>
<td>
@Html.ActionLink("Edit", "EditBugs", new { id = item.bug_pk }) |
@Html.ActionLink("Delete", "DeleteBugs", new { id = item.bug_pk })
</td>
</tr>
}
</table>
@model PagedList.IPagedList
@{
ViewBag.Title=“BugIndex”;
Layout=“~/Views/Shared/_Layout.cshtml”;
}
@使用页面列表;
@视图包。标题
@使用(Html.BeginForm())
{
搜索错误索引:@Html.TextBox(“搜索字符串”)
}
@ActionLink(“报告Bug”、“报告Bug”、“支持”、null、new{@class=“button1”})
页码@(Model.PageCount”,“”,新{page=Model.PageCount,sortOrder=ViewBag.CurrentSort,currentFilter=ViewBag.currentFilter,Versions=ViewBag.SelectedVersion})
}
其他的
{
@:下一步>
@Html.Raw(“”)
@:>>
}
显示从@Model.TotalItemCount记录到@Model.LastItemOnPage的@Model.FirstItemOnPage记录
@ActionLink(“提交日期”,“BugIndex”,new{sortOrder=ViewBag.currentOrder==“asc”?“desc”:“asc”,sortField=“提交日期”})
@如果(ViewBag.currentOrder==“asc”&&ViewBag.CurrentField==“提交日期”){
@如果(ViewBag.currentOrder==“desc”&&ViewBag.CurrentField==“提交日期”){}
@ActionLink(“提交人”,“BugIndex”,new{sortOrder=ViewBag.currentOrder==“asc”?“desc”:“asc”,sortField=“提交人”})
@如果(ViewBag.currentOrder==“asc”&&ViewBag.CurrentField==“提交人”){
@如果(ViewBag.currentOrder==“desc”&&ViewBag.CurrentField==“提交人”){
@ActionLink(“Description”,“BugIndex”,new{sortOrder=ViewBag.currentOrder==“asc”?“desc”:“asc”,sortField=“Description”})
@如果(ViewBag.currentOrder==“asc”&&ViewBag.CurrentField==“Description”){}
@如果(ViewBag.currentOrder==“desc”&&ViewBag.CurrentField==“Description”){}
@ActionLink(“Priority”,“BugIndex”,new{sortOrder=ViewBag.currentOrder==“asc”?“desc”:“asc”,sortField=“Priority”})
@如果(ViewBag.currentOrder==“asc”&&ViewBag.CurrentField==“优先级”){}
@如果(ViewBag.currentOrder==“desc”&&ViewBag.CurrentField==“Priority”){}
@ActionLink(“预计完成日期”,“BugIndex”,new{sortOrder=ViewBag.currentOrder==“asc”?“desc”:“asc”,sortField=“预计完成日期”})
@如果(ViewBag.currentOrder==“asc”&&ViewBag.CurrentField==“预计完工日期”){
@如果(ViewBag.currentOrder==“desc”&&ViewBag.CurrentField==“预计完成日期”){
@ActionLink(“Status”,“BugIndex”,new{sortOrder=ViewBag.currentOrder==“asc”?“desc”:“asc”,sortField=“Status”})
@如果(ViewBag.currentOrder==“asc”&&ViewBag.CurrentField==“状态”){}
@如果(ViewBag.currentOrder==“desc”&&ViewBag.CurrentField==“status”){}
@ActionLink(“开发者评论”,“BugIndex”,new{sortOrder=ViewBag.currentOrder==“asc”?“desc”:“asc”,sortField=“开发者评论”})
@如果(ViewBag.currentOrder==“asc”&&ViewBag.CurrentField==“开发者注释”){}
@如果(ViewBag.currentOrder==“desc”&&ViewBag.CurrentField==“开发者注释”){}
@ActionLink(“附件”,“BugIndex”,new{sortOrder=ViewBag.currentOrder==“asc”?“desc”:“asc”,sortField=“附件”})
@如果(ViewBag.currentOrder==“asc”&&ViewBag.CurrentField==“附件”){}
@如果(ViewBag.currentOrder==“desc”&&ViewBag.CurrentField==“附件”){}
@{
var row_class=“奇数”;
}
@foreach(模型中的var项目)
{
行类别=行类别==“奇数”?“偶数”:“奇数”;
@DisplayFor(modelItem=>item.date\u提交)
@DisplayFor(modelItem=>item.submitted\u by)
@DisplayFor(modelItem=>item.description)
@DisplayFor(modelItem=>item.priority)
@DisplayFor(modelItem=>item.estimated\u completion\u date)
@DisplayFor(modelItem=>item.status)
@DisplayFor(modeleItem=>item.developer\u注释)
@如果(item.attachment!=null){}
@如果(item.attachment==null){}
@ActionLink(“Edit”,“editbug”,new{id=item.bug_pk})|
@ActionLink(“Delete”,“deletebug”,new{id=item.bug_pk})
}
应用程序数据中存储的文件将无法访问。为了在网页上显示它们,您必须将它们移动到不同的文件夹,如~/content或~/images
然后,您可以通过以下方式逃脱:
<img src="@Url.Content(string.Format("~/images/{0}", Model.RandomFileName))" />
我一直在干扰你的建议,你对App\u数据文件夹的看法绝对正确,因此我更新了代码以反映不同的文件夹,但我似乎无法查看该文件