【问题标题】:How to allow access to a folder that's not in my website directory?如何允许访问不在我的网站目录中的文件夹?
【发布时间】:2015-04-26 22:43:46
【问题描述】:

在我的服务器上,我有一个存储 mp3 音乐文件的文件夹C:\music 我的网站目录在另一个文件夹中,比如C:\Destop\myWebsite

我想让人们从C:\music\mySong.mp3 下载mp3,实现这一点的最佳方法是什么?

我想出的一个解决方案是有一个端点说www.myWebsite.com/getMp3,然后在getMp3Controller 我可以获取mp3 然后返回它。这是正确的解决方案吗?此外,如果我这样做,似乎我正在加载 mp3 文件两次:首先进入控制器,然后将其发送给访问者。但这似乎完全没有必要。

提前致谢!

【问题讨论】:

标签: c# asp.net-mvc iis


【解决方案1】:

正如 Tony 在他的帖子中提到的,您希望在 IIS 中的应用程序下创建一个虚拟目录,并将该目录指向您的音乐文件夹。您建议让控制器抓取文件是可以的,但它在您的应用程序池中尝试了一个线程,IIS 使用核心 IIS 功能来提供文件可以更好地处理该线程。

Web 用户具有通过 IIS 和底层文件系统访问此文件夹的适当权限也很重要。根据 IIS 的版本和您的计算机,这可能是 IUSR_[计算机名] 或 ASP.NET 工作进程或网络服务。检查应用程序池在什么下运行。

最后一点建议,作为警告。打开计算机以允许人们下载 MP3 文件可能会产生安全和法律后果,并影响计算机的性能。明智地选择。

【讨论】:

    【解决方案2】:

    在网站上创建一个虚拟目录,指向包含 mp3 文件的目录,然后在您的网站中,您可以链接到虚拟目录中的文件。

    【讨论】:

    • 这更像是一个评论而不是一个答案,也许你可以用一些细节来充实它?
    猜你喜欢
    • 2020-06-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-04-23
    • 1970-01-01
    • 2013-07-31
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多