首页 > 技术文章 > Bitmap.Save保存文件到另一台服务器 Access to the path \\A\Images is denied.

cndota2 2019-10-18 15:25 原文

参考博客:https://www.cnblogs.com/ATtuing/p/9453204.html

背景

现在有两台服务器A和B,两台服务器位于同一网段,并且有相同的账户和密码,如下

账户:User1

密码:123456

并且在两台服务器上部署有相同的WebServices站点,站点作用是生成二维码图片并保存在指定目录。

最终是通过Bitmap.Save方法实现

Bitmap.Save(Path)

目录:D:/Images

且A上的D:/Images文件夹已设置为共享文件夹,共享目录为 \\A\Images

User1对Images文件夹具有完全控制权。

需求

现在想不管调用A上的站点还是B上的站点,都将二维码图片保存到A服务器上的D:/Images。

问题

将B中的文件保存目录在config中改为\\A\Images\,但是调用接口是总是报“Access to the path \\A\Images is denied.”

解决办法

修改B上站点的IIS权限

IIS发布网站对应的应用程序池: Advanced Settings-->Process Model-->Identity  修改为自定义账户

 

 

 

 因为User1对A和B都有权限,所以当调用B上的站点时,始终是以User1的身份来执行。

而User1对A上的Images文件夹具有完全控制权,也就不存在Access问题了。

 

延伸:如果用内置账户Network Service,并对Images文件夹添加Network Service的完全控制权,是不是也会有相同效果?

待确认!

如果理解有不到位的地方,欢迎各位看官纠正,不胜感激!!!

推荐阅读