ASP.NET 核心:在哪里放置上传的图像,哪些图像应该在解决方案之间共享?



我在ASP中有一个网上商店。MVC。 该解决方案由 2 个项目组成 - 一个 web.frontend 和一个 web.admin。

在web.admin中,文件上传是可能的。这些文件应该可以从web.frontend访问,以便在浏览器中显示。

我已经尝试了大量不同的 C# 方法来各种路径......

请为我提供一种方法,将共享文件放在浏览器也可以访问它们的位置。

我尝试将文件放在.sln根目录 - 但浏览器给我一个错误:不允许加载本地资源。

所以不知何故,文件应该放在web.frontend wwwroot?从web.admin项目中?

您唯一的选择是使用虚拟目录。在完整的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。您实际上不会创建一个新网站;这只是到达可以添加虚拟目录的区域的唯一方法。冲洗并重复您的其他项目。

最新更新