【问题标题】:Share an Image folder between two asp.net MVC5 projects在两个 asp.net MVC5 项目之间共享一个 Image 文件夹
【发布时间】:2019-05-09 21:26:04
【问题描述】:

我正在为 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 是一个项目,但我将两者分开是因为即使管理区域也会使一个项目变得更加麻烦。这就是为什么我不得不拆分以使我的代码更易于管理。

我尝试了多种解决方案,包括这个 Two MVC projects - Image sharing

解决方案是建议我返回区域

如果我可以访问产品图像就可以了这些项目之间的访问

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

【问题讨论】:

  • 只是把图片放在一个公共的地方?将 config 中位置的路径放在两个项目中的相同配置中。对我来说似乎很简单?
  • 您可以创建一个网站,该网站专门用于托管您的图片的静态文件,或者让 CDN 为您完成这项工作。
  • 或者只是创建一个 API 来为您提供文件服务,然后通过任何应用程序引用该 API

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


【解决方案1】:

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

如果您在 Azure 中托管,并且这些图像可能会被多个服务器访问,请考虑将这些图像保存在 Blob 存储中并在那里访问它们。

【讨论】:

    猜你喜欢
    • 2020-03-16
    • 1970-01-01
    • 1970-01-01
    • 2011-04-27
    • 2021-01-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-08-03
    相关资源
    最近更新 更多