在两个asp.net MVC5项目之间共享一个Image文件夹

时间:2019-05-09 11:43:06

标签: c# asp.net-mvc asp.net-mvc-5

我正在为ASP.net MVC5中的在线商店创建解决方案。我的解决方案包含四个项目,

    我的数据库实体的
  1. Store.Data,产品的edmx文件和部分类,

  2. Store.POS是用于付款的移动应用程序,正如其名称所示。

  3. Store.Admin,用于处理库存管理,更新新产品和价格以及查看销售并生成报告。

  4. Store.Client是在线商店。

所有项目都使用一个数据库,这意味着每个Web项目在web.config中都有一个类似的连接字符串,而我正在为移动应用程序使用Web API。

我的问题是

如何在Store.Admin和Store.Client之间访问一个文件夹,该文件夹将存储产品的图像? Store.Admin创建产品并上传图像,Store.Client读取这些图像

显然,Store.Admin和Store.Client是一个项目,但是我将两者分开是因为即使管理Area也会使一个项目更加繁琐。这就是为什么我不得不拆分以使代码更易于管理的原因。

我尝试了许多解决方案,包括此解决方案 Two MVC projects - Image sharing

,该解决方案建议我回到Areas

如果可以通过此行示例访问Product图像,则在Product的子类中,可以的,ID是DB的ID,“〜/ Images /”是我需要的共享文件夹这些项目之间的访问权限

 public string ImagePath => $"~/Images/{ID}/";

1 个答案:

答案 0 :(得分:0)

如果您运行一个简单的,低流量的ASP.NET MVC Web应用程序(例如,您正在为企业开发内部Webapp或正在从事个人/学校项目),则可以将图像直接转储到绝对-path文件夹,例如C:\myfoldername\images,而不要使用问题中的相对路径。

如果您托管在Azure中,并且可以想象这些图像可以被多个服务器访问,请考虑将这些图像保存在Blob存储中并在其中进行访问。

相关问题