如何在mvc中使用C#在已发布的应用程序中保存数据库中的图像

时间:2016-02-08 07:05:03

标签: c# asp.net-mvc

我在应用程序中上传公司徽标,它正在工作,但是当我发布并检查它时出错

这里是图像的发布方法

[HttpPost]
 public string Logo()
 {
     WebImage photo = null;
     var imagePath = "";
     photo = WebImage.GetImageFromRequest();

     string tempname = "";
     if (photo.FileName.Contains("\\"))
     {
         tempname = photo.FileName.Substring((photo.FileName.LastIndexOf("\\") + 1), (photo.FileName.Length - (photo.FileName.LastIndexOf("\\") + 1)));
     }
     else
     {
         tempname = photo.FileName;
     }
     string fname = tempname;
     imagePath = Server.MapPath("~/Content/Temp/") + fname;
     photo.Resize(photo.Width, 300, true);
     photo.Save(imagePath);
     return "<img src='/Content/Temp/" + fname + "'  class='preview' id='targetimage' >";
 }

我收到此错误 System.UnauthorizedAccessException:访问路径&#39; C:\ inetpub \ wwwroot \ SCL Mngmnt测试Link_08_Feb \ Content \ Temp \ Desert.jpg&#39;被拒绝

1 个答案:

答案 0 :(得分:0)

发布除c驱动器以外的其他地方(有权限)

最好在Web配置中定义一个全局变量,该变量将保存您要保存图像的路径。

这就是你可以随时改变路径的方式。

以下是在web.config中设置的方法

<appSettings>
     <add key="ImagePath" value="YourImageSavingPath"/>
  </appSettings>

然后使用

检索它
 path=System.Configuration.ConfigurationManager.AppSettings["ImagePath"];