我想知道是否可以通过代码更改文件的权限?
问题:不幸的是,我使用AjaxFileupload将文件上传到网络服务器。到现在为止还挺好。当要打开保存在Web服务器上的映射文件夹中的上载文件时,会出现问题。文件没有显示在文件夹中(在其他服务器上),缺少权限。
这就是为什么:AjaxFileUpload首先将文件保存在临时文件夹中,然后通过我定义的路径将其移动到实际。该文件继承了该临时文件夹的权限,而不是我放置在映射文件夹上的权限。我需要使用映射文件夹,我需要将映射文件夹的权限继承到文件。
为什么我需要这个?我需要这个,因为有一个桌面应用程序需要打开文件。映射文件夹具有执行此操作的所有正确权限。那么,该怎么办?如果我可以从后面的代码更改文件的权限就很容易了,比如我把文件保存到文件夹之后就可以了,但这是否可能?
我在某地读到,改变临时文件夹的权限不是一个好主意,为什么会有任何想法?
任何帮助都会得到满足!
编辑:
所以要清除,我没有任何问题将文件保存到磁盘(服务器3)。我的问题是我无法看到或访问服务器1上的文件,因为该文件不会继承映射的文件夹权限。映射文件夹具有来自服务器1和服务器3的许可,但是一个文件上传文件只有来自服务器3的许可。
答案 0 :(得分:0)
我认为问题不在于源文件的权限。我认为问题是用于运行IIS的帐户没有访问映射文件夹的权限。
您可以使用模拟授予对保存文件的代码段的访问权限。
见这些:
答案 1 :(得分:0)
我自己解决了。基本上写了一些代码,它给了我webserver上临时文件夹的名称,其中ajaxfileupload在将文件移动到我想要的文件夹之前进行了临时保存。当我在该文件夹上有名称时,我基本上更改了该文件夹的权限。我只给了该文件夹的读取和列表权限,因为我不希望桌面应用程序在Web服务器上拥有任何其他权限。这就是我需要在映射的驱动程序中列出文件。