1
我需要服务器需要授权才能下载的大量Pdf。不允许从App_Data文件夹加载本地资源
我读过,建议将它们放在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的我看到:
不允许加载本地资源: 文件:/// B:/Development/MyProject/MyProject.Web/App_Data/SetOne/sampleOne.pdf
我怎样才能让应用程序可以给访问这些文件?
编辑
我还试图创建一个新的文件夹,名为PDF和移动文件到这一点,但是我得到同样的错误信息,当我在Chrome浏览器开发工具查看。
我是否需要为此任务实现一个Http处理程序?
那么从服务器到服务器的PDF文件的最佳方式? – JsonStatham
您应该将PDF文件放到用户可访问的文件夹中。然后,您必须映射服务器路径以获取正确的URL –
我已经将PDF文件放在PDF文件夹中,并且我已经编写了FileResult方法,称为下载,这会返回一个文件,但是现在可以让人们直接浏览到我的PDF文件夹和帮助自己? – JsonStatham