【问题标题】:Change file permissions from code behind从后面的代码更改文件权限
【发布时间】:2014-07-03 22:23:42
【问题描述】:

我想知道是否可以从后面的代码更改文件的权限?

问题:不幸的是,我使用 AjaxFileupload 将文件上传到网络服务器。到目前为止,一切都很好。当要打开保存在网络服务器上映射文件夹中的上传文件时,就会出现问题。文件未显示在文件夹中(在其他服务器上),缺少权限。

原因如下:AjaxFileUpload 先将文件保存在临时文件夹中,然后将其移动到我定义的路径中。该文件继承了该临时文件夹的权限,而不是我对映射文件夹的权限。我需要使用映射文件夹,并且需要将映射文件夹的权限继承到文件中。

我为什么需要这个?我需要这个是因为有一个桌面应用程序需要打开文件。映射文件夹具有执行此操作的所有正确权限。那么,该怎么做呢?如果我可以从后面的代码中更改文件的权限,那将很容易,比如说在我将文件保存到文件夹之后,但这可能吗?

我在某处读到更改临时文件夹的权限不是一个好主意,有什么想法吗?

如有任何帮助,我们将不胜感激!

编辑:

所以为了明确,我没有任何问题将文件保存到磁盘(服务器 3)。我的问题是我无法查看或访问服务器 1 上的文件,因为该文件没有继承映射文件夹的权限。映射的文件夹具有来自服务器 1 和服务器 3 的权限,但上传的文件之一只有来自服务器 3 的权限。

【问题讨论】:

    标签: asp.net file-permissions code-behind


    【解决方案1】:

    我认为问题不在于源文件的权限。我认为问题是用于运行 IIS 的帐户没有访问映射文件夹的权限。

    您可以使用模拟来授予对保存文件的代码部分的访问权限。

    查看这些:

    【讨论】:

    • 我不知道,但您的回答似乎解决了上传文件的问题,那不是我的问题。或者我什么都不懂?查看我的编辑以更好地解释问题。
    【解决方案2】:

    自己解决了。基本上写了一些代码,给了我网络服务器上临时文件夹的名称,ajaxfileupload 在将文件移动到我想要的文件夹之前进行了临时保存。当我在那个文件夹上有名字时,我基本上改变了那个文件夹的权限。我只授予文件夹的读取和列出权限,因为我不希望桌面应用程序在网络服务器上拥有任何其他权限。这就是我在映射驱动程序中列出文件所需的全部内容。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2017-06-15
      • 1970-01-01
      • 1970-01-01
      • 2020-07-04
      • 1970-01-01
      • 2013-06-27
      • 2011-04-16
      • 2013-10-30
      相关资源
      最近更新 更多