Server.MapPath访问被拒绝在Azure上

我正在使用C#代码和spreadsheetlight DLL导出一个Excel。 我想插入一个图片到Excel中,一切工作正常在本地机器上,但在现场的网站,它给以下错误

Access to the path 'F:\sitesroot\0\Images\Logo.png' is denied 

我的C#代码。

 string filePath = Server.MapPath("~/Images/Logo.png"); SLPicture pic = new SLPicture(filePath); //SLPicture - An inbuilt class for inserting image 

目前我正在做的是手动提供IIS服务器上的访问权限,但这不是正确的方法,因为每次我上传服务,我必须重复一遍又一遍

任何专家的build议 – 我如何通过代码提供访问权限? 或者如何摆脱这个错误。

谢谢。

假设您正在使用云服务…

您应该使用本地存储( http://msdn.microsoft.com/en-us/library/windowsazure/ee758708.aspx )。

基本上;

  1. 在您的Cloud项目中,转至“angular色”的属性并select“本地存储”。
  2. 添加一个新的本地存储,并给它一个名称,即“foo”和最大尺寸。 如果这是临时处理,而不是caching,则可能需要勾选“清除angular色回收”。
  3. 在您的代码中调用RoleEnvironment.GetLocalResource("foo")来获取您可以使用的文件夹名称,然后执行诸如Path.Combine("path","Logo.png")来获取文件名,然后您可以写入。