我正在尝试将文件上传到我正在开发的应用程序中。
在我的本地计算机上,我一直使用以下方法将文件保存到共享资源上的文件夹中:
string path = Path.Combine("\\appname\myfolder$", Path.GetFileName(file.FileName));
file.SaveAs(path);
一切正常。
(在'appname'服务器上,文件夹'myfolder'在根目录中(例如)c:\ myfolder)
当我将项目部署到同一服务器上的IIS(例如http:\ appname)时,这不再有效。
因此,我尝试将代码更改为指向将运行的服务器上的c驱动器,例如。
string path = Path.Combine("c:\\myfolder", Path.GetFileName(file.FileName));
file.SaveAs(path);
这也不起作用。尝试了一些其他的东西,但现在完全失去了它。有人可以帮忙吗?
答案 0 :(得分:1)
在IIS中运行此应用程序时,将授权用户分配给托管该网站的应用程序上下文。 默认情况下,工作程序在系统上下文中运行,操作系统(计算机帐户)需要访问共享 - 这实际上不是推荐的解决方案。
请参阅here如何配置应用程序池标识。