如何允许访问不在我的网站目录中的文件夹?

时间:2015-04-26 22:43:46

标签: c# asp.net-mvc iis

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

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

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

提前致谢!

2 个答案:

答案 0 :(得分:1)

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

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

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

答案 1 :(得分:0)

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