0
    public class UploadHandler : IHttpHandler
    {
        public void ProcessRequest(HttpContext context)
        {
        ...

        // Create the directory if needed...
        if (!Directory.Exists(uploadDir))
        {
            System.Security.AccessControl.DirectorySecurity ds = new System.Security.AccessControl.DirectorySecurity(RivWorks.AppSettings.UploadRoot, System.Security.AccessControl.AccessControlSections.All);
            Directory.CreateDirectory(uploadDir, ds);
        }
        ...
    }

我有上面的 ASHX 文件代码片段,它在我的本地环境中运行良好。当我将它推送到服务器环境时,我没有收到错误,它似乎已经构建了目录,但是当我检查它时 - 嗯 - 它不存在。当我通过 FLEX 应用程序运行它时,我们收到此错误:

错误 #2038:文件 I/O 错误。网址: http://[ourdomain].com/UploadHandler.ashx?CompanyID=d229cc80-ca96-4a8a-992c-80c94ac2c6b4

有什么我想念的吗?

更新:

  1. 我可以在磁盘上的任何位置创建文件
  2. 无法在磁盘上的任何位置创建目录。

现在尝试创建目录时出现此错误:

该进程不具备此操作所需的“SeSecurityPrivilege”特权。

4

3 回答 3

2

您是否检查过您的程序对服务器上的相关目录具有正确的访问权限?

如果由于您使用的帐户受到限制或目录被锁定而没有正确的权限,您将看到此错误。

于 2009-08-31T21:00:55.470 回答
0

该网站是否以身份模拟=true 运行?如果是这样,它在您的环境中的凭据/授权下运行

于 2009-09-01T09:38:10.127 回答
0

只需简单地使用 mkdir() 函数来创建目录。要定义路径,您可以使用 SERVERMAPPATH 属性。

在 try catch endtry 块中使用以避免已经存在或任何其他错误。

于 2012-06-21T07:47:55.233 回答