Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/316.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 不允许从App_数据文件夹加载本地资源_C#_Asp.net Mvc - Fatal编程技术网

C# 不允许从App_数据文件夹加载本地资源

C# 不允许从App_数据文件夹加载本地资源,c#,asp.net-mvc,C#,Asp.net Mvc,我需要服务器大量的Pdf的,需要授权,以便能够下载 我读过,建议将它们放在App\u Data文件夹中 我在App\u Data文件夹中创建了三个文件夹: > SetOne > SetTwo > SetThree 我需要将这些文件传递到我的视图 控制器 var files = Directory.EnumerateFiles(Server.MapPath("~/App_Data/SetOne")); return View(files); 查看 <ul>

我需要服务器大量的Pdf的,需要授权,以便能够下载

我读过,建议将它们放在
App\u Data
文件夹中

我在
App\u 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>
    @foreach(模型中的var完整路径) { var fileName=Path.GetFileName(完整路径); var downloadPath=@Path.GetDirectoryName(fullPath)+“\\”+@fileName;
  • }
使用上述代码,我能够在无序列表中列出SetOne文件夹的内容,但是当我尝试查看其中一个Pdf时,我看到:

不允许加载本地资源: file:///B:/Development/MyProject/MyProject.Web/App_Data/SetOne/sampleOne.pdf

如何允许应用程序访问这些文件

编辑

我还尝试创建一个名为Pdfs的新文件夹,并将文档移动到此文件夹,但在chromedev工具中查看时收到相同的错误消息


我需要为这个任务实现一个Http处理程序吗?

您的方法对于WinForms应用程序是可以的,但是对于Web应用程序不应该有效。downloadPath应包含Url,但不包含文件上的物理路径(如some.com/pdfs/1.pdf)


您可以在这种情况下使用

那么从服务器发送PDF的最佳方式是什么呢?您应该将PDF放入用户可以访问的文件夹中。然后,您必须映射服务器路径以获得正确的Url。我已将pdf放置在pdf文件夹中,并编写了名为“下载”的FileResult方法,该方法返回一个文件,但是现在人们是否可以直接浏览到我的pdf文件夹并自助?您可以为用户提供FTP Url和文件夹访问权限。