无法在webserver上保存文件:System.UnauthorizedAccessException

时间:2009-07-21 08:06:08

标签: c# asp.net file webserver mappath

我无法使用FileUpload.SaveAs()或File.WriteAllText()在我的网络服务器上保存文件。我保存的文件夹是CHMOD 666。

我的代码是:

File.WriteAllText(MapPath(“。”)+“\\ Ads \\ test.jpg”,“test”);

此代码在Dev中完美运行。服务器

祝你好运, Lasse Espeholt

System.UnauthorizedAccessException:拒绝访问路径*'。 在System.IO .__ Error.WinIOError(Int32 errorCode,String maybeFullPath) at System.IO.FileStream.Init(String path,FileMode mode,FileAccess access,Int32 rights,Boolean useRights,FileShare share,Int32 bufferSize,FileOptions options,SECURITY_ATTRIBUTES secAttrs,String msgPath,Boolean bFromProxy) at System.IO.FileStream..ctor(String path,FileMode mode,FileAccess access,FileShare share,Int32 bufferSize,FileOptions options,String msgPath,Boolean bFromProxy) 在System.IO.FileStream..ctor(字符串路径,FileMode模式) 在System.Web.HttpPostedFile.SaveAs(String filename) 在System.Web.UI.WebControls.FileUpload.SaveAs(String filename) at *(Object sender,ListViewInsertEventArgs e)

2 个答案:

答案 0 :(得分:3)

您需要为机器的ASPNET帐户提供所需文件夹的读写权限。 你可以通过打开文件夹属性来做到这一点 - >安全标签。

答案 1 :(得分:0)

您的错误消息指出:

System.UnauthorizedAccessException: Access to the path *' is denied.

这看起来有点奇怪。您是否编辑了路径,或者它是如何显示的?如果是后者,那么您拨打MapPath时会出现问题。

我知道以下情况似乎很明显,但我过去曾多次被假设所困扰。

您是否确认您认为自己写入的文件夹是MapPath(".") + "\\Ads\\test.jpg"实际解决的文件夹?

您是否拥有“广告”子文件夹的完全权限?