【问题标题】:Setting permissions of uploaded file to allow reading in ASP.NET设置上传文件的权限以允许在 ASP.NET 中读取
【发布时间】:2011-08-08 05:27:26
【问题描述】:

我有一个 ASP.NET Web 应用程序,我试图在其中打开一个位于我的 webroot 子目录中的文本文件。文本文件是使用 SAFileUp 通过同一个 Web 应用程序上传的。我正在使用 FileInfo 对象来读取文本文件...

Response.TransmitFile(fileInfo.FullName)

令人费解的是我在执行这行代码时抛出了异常。

Access to the path 'C:\webroot\xxxx\uploads\filename.txt' is denied 

我已将上传文本文件的uploads 文件夹授予read/write/execute 权限,同时授予IUSRIIS_IUSRS 帐户权限,并且权限已继承到下面的子文件夹。有趣的是我试图加载的实际文本文档没有为IIS_IUSRS 设置权限,而IUSR 确实有读/写/执行。只要我将“读取”权限添加到IIS_IUSRS,我就可以读取该文件。

让我感到困惑的是,我原以为该文件会继承父文件夹的权限,但显然不是。如何在上传过程中设置上传文件的权限,以便稍后打开阅读?

【问题讨论】:

  • 你检查过文件是否是只读的
  • @Swaff - 是的,我做到了。它不是只读的。

标签: asp.net file permissions


【解决方案1】:

嗯..我找到了答案。基本上,上传组件SAFileUp,使用上传文件缓存的“Temp”目录来设置上传文件的权限。在我的例子中,这个目录是C:\Windows\temp。我所做的只是让帐户IIS_IUSRS READ 访问C:\Windows\temp 目录,我就可以毫无问题地访问上传的文件。

这是 SoftArtisans 网站上的一篇文章,它提示我并帮助我找到了上传文件缓存到的目录。

http://support.softartisans.com/kbview_776.aspx

【讨论】:

    猜你喜欢
    • 2013-03-20
    • 1970-01-01
    • 2011-12-01
    • 1970-01-01
    • 2011-09-08
    • 2012-04-28
    • 1970-01-01
    • 2011-05-07
    • 1970-01-01
    相关资源
    最近更新 更多