我在ASP.MVC有一个网上商店。 该解决方案包含2个项目 - web.frontend和web.admin。
在web.admin中,可以上传文件。这些文件应该可以从web.frontend访问,以便在浏览器中显示。
我已经尝试了大量不同的C#方法到各种路径......
请为我提供一种方法,将共享文件放在浏览器也可以访问的位置。
我尝试将文件放在.sln根目录下 - 但是浏览器给出了一个错误:不允许加载本地资源。
所以不知何故,这些文件应放在web.frontend wwwroot中?来自web.admin项目?
答案 0 :(得分:2)
您唯一的选择是使用虚拟目录。在完整的IIS中,这是一个相当直接的事情。您只需在IIS中向站点添加虚拟目录,并将其指向文件系统上存储这些文件的位置。然后,在HTML中使用此虚拟目录引用文件。例如:
<a href="/myvirtualdirectory/foo.txt">Foo</a>
开发中也需要相同的功能,但IIS Express的程序更加迂回,因为没有GUI管理。要在IIS Express中向项目添加虚拟目录,您需要转到Visual Studio中的File > New > Web Site...
。点击Browse...
按钮,然后点击Local IIS
标签。选择项目的站点,然后单击右上角的图标,该图标看起来像带有红色星号的黄色文件夹。键入别名(这是您在HTML中使用的名称),然后浏览到文件系统上文件的位置。取消选中Create IIS application
,然后点击OK
。然后,再次点击Cancel
和Cancel
。您实际上并不打算创建新网站;它是进入这个可以添加虚拟目录的区域的唯一途径。用其他项目冲洗并重复。