【发布时间】:2015-10-26 03:41:08
【问题描述】:
我需要提供大量需要授权才能下载的 Pdf。
我已阅读建议将它们放在App_Data 文件夹中。
我在App_Data文件夹中创建了三个文件夹:
> SetOne
> SetTwo
> SetThree
我需要将这些文件传递给我的视图。
控制器
var files = Directory.EnumerateFiles(Server.MapPath("~/App_Data/SetOne"));
return View(files);
查看
<ul>
@foreach (var fullPath in Model)
{
var fileName = Path.GetFileName(fullPath);
var downloadPath = @Path.GetDirectoryName(fullPath) + "\\" + @fileName;
<li><a href="@downloadPath">@fileName</a></li>
}
</ul>
使用上面的代码,我可以在无序列表中列出 SetOne 文件夹的内容,但是当我尝试查看其中一个 Pdf 时,我看到了:
不允许加载本地资源: file:///B:/Development/MyProject/MyProject.Web/App_Data/SetOne/sampleOne.pdf
如何允许应用程序访问这些文件?
编辑
我还尝试创建一个名为 Pdfs 的新文件夹并将文档移动到此文件夹,但是当我在 chrome 开发工具中查看时,我收到了相同的错误消息。
我需要为此任务实现一个 Http Handler 吗?
【问题讨论】:
标签: c# asp.net-mvc