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 )。
基本上;
- 在您的Cloud项目中,转至“angular色”的属性并select“本地存储”。
- 添加一个新的本地存储,并给它一个名称,即“foo”和最大尺寸。 如果这是临时处理,而不是caching,则可能需要勾选“清除angular色回收”。
- 在您的代码中调用
RoleEnvironment.GetLocalResource("foo")
来获取您可以使用的文件夹名称,然后执行诸如Path.Combine("path","Logo.png")
来获取文件名,然后您可以写入。
- C#Azure文件存储CloudFile.OpenWrite与OpenXml.SpreadsheetDocument问题…需要FileMode和FileAccess选项?
- ASP.NET WebApi无法在Azure中使用COM(Excel)
- 在Azure上使用Excel
- 如何从Windows Azure云服务中的Excel文件中读取数据?
- 从Azure下载的Excel文件格式不正确
- 在Excel中将Excel文件导入到SQL Azure
- 一个Excel文件托pipe在Azure Blob上,如何将其读入FileStream?
- 如何在Azure上运行excel?
- 读取excel文件并在C#中的数据库中插入logging – Windows Azure