[英]Setting permissions of uploaded file to allow reading in ASP.NET
我有一个ASP.NET Web应用程序,在其中我试图打开位于我的Webroot子目录内的文本文件。 文本文件是使用SAFileUp通过同一Web应用程序上载的。 我正在使用FileInfo对象来读取文本文件...
Response.TransmitFile(fileInfo.FullName)
令人费解的是,执行此行代码时会引发异常。
Access to the path 'C:\webroot\xxxx\uploads\filename.txt' is denied
我给了uploads
文件夹,在该文件夹中uploads
了文本文件, IIS_IUSRS
IUSR
和IIS_IUSRS
帐户都具有read/write/execute
权限,并且该权限已继承到下面的子文件夹中。 有趣的是,我尝试加载的实际文本文档没有为IIS_IUSRS
设置任何权限,而IUSR
确实具有读/写/执行权限。 将“读取”权限添加到IIS_IUSRS
便可以读取文件。
令我感到困惑的是,我本以为文件会继承父文件夹的权限,但显然不是。 如何在上传过程中设置上传文件的权限,以便以后可以打开文件以进行阅读?
好吧..我找到了答案。 基本上,上载组件SAFileUp使用“ Temp”目录来缓存上载文件,以设置上载文件的权限。 在我的情况下,该目录为C:\\Windows\\temp
。 我所做的就是授予IIS_IUSRS
帐户对C:\\Windows\\temp
目录的读取权限,并且我能够毫无问题地访问上载的文件。
这是SoftArtisans网站上的一篇文章,为我提供了帮助,并帮助我找到了上载文件缓存到的目录。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.