将图像上载到IIS中托管的其他站点

时间:2016-12-09 09:52:07

标签: c# asp.net-mvc iis asp.net-web-api file-upload

我有一个MVC和WebAPI项目的解决方案。它们都在IIS中托管,例如:http:/mvc.com/和http:/webapi.com/。 当WebApi收到图像时,它会使用以下代码行生成的路径将它们保存在WebAPI文件夹的Content / Images /文件夹中:

System.Web.Hosting.HostingEnvironment.MapPath(@"~/Content/Images/<imagename>.jpg");

如何配置以将其保存在mvc项目的Content / Images /文件夹中? 我尝试撰写以下路径:

@"http:\mvc.com\Content\Images"

但我收到错误:不支持URI格式 当它是这样的时候:

@"mvc.com\Content\Images"

我收到错误:&#34; GDI +中出现了一般错误。&#34;

1 个答案:

答案 0 :(得分:1)

我建议在两个项目之外创建一个文件夹,并在两者之间共享该文件夹。

您可以在web.config中进行设置以保存目录路径。此代码适用于任一解决方案(无论是将图像保存在一个项目中还是外部)。

将其添加到 web.config 文件中:

<appSettings>
  <add key="imageFolder" value="C:\somewhere"/>
</appSettings>

这是你的C#文件获取位置:

var wc = WebConfigurationManager.OpenWebConfiguration(null);
string folderPath = wc.AppSettings.Settings["imageFolder"]?.Value;