上载文件时访问被拒绝的路径

时间:2012-09-14 04:54:01

标签: asp.net-ajax

我将从客户端上传带有文件上传控件的图像,并将其转换为流对象并将其发送到wcf服务。此过程使用asp.net应用程序,但是当我在IIS 5.1中托管此应用程序时上传文档时显示错误为

  

拒绝访问路径'C:\ Documents and Settings \ patnayak \ Desktop \ Temp.xlsx'

在Google搜索之后,我在我的系统中授予对Temp.xlsx的asp.net用户权限,然后它正在运行。其他系统如何上传文件。

我的代码:

            ClientBOL.CD.CPI2Library objLib = new ClientBOL.CD.CPI2Library();
            UDO.CPI2LibraryList libfiles = new UDO.CPI2LibraryList(true, "");

            HttpFileCollection hfc = Request.Files;
            libfiles.CPI2Libraries = new UDO.CPI2Library[hfc.Count];
            for (int i = 0; i < hfc.Count; i++)
            {
                HttpPostedFile hpf = hfc[i];
                if (hpf.ContentLength > 0)
                {
                                            libfiles.CPI2Libraries[i] = new UDO.CPI2Library();

                    libfiles.CPI2Libraries[i].FileName = System.IO.Path.GetFileName(hpf.FileName);
                    libfiles.CPI2Libraries[i].FiletypeId = GetFileTypeId(System.IO.Path.GetFileName(hpf.FileName));
                    libfiles.CPI2Libraries[i].DoctypeId = 1;
                                           FileInfo fileInfo = new FileInfo(hpf.FileName);
                    UDO.UDOFileOperations.RemoteFileInfo ri = new UDO.UDOFileOperations.RemoteFileInfo();
                    System.IO.FileStream stream = new System.IO.FileStream(hpf.FileName, System.IO.FileMode.Open, System.IO.FileAccess.Read);
                                            ri.FileName = System.IO.Path.GetFileName(hpf.FileName);
                    ri.Length = fileInfo.Length;
                    ri.FileByteStream = stream;
                    ClientBOL.CD.FileOperations cdc = new ClientBOL.CD.FileOperations();
                    cdc.UploadFile(ri);
                }
            }

2 个答案:

答案 0 :(得分:0)

仅授予文件权限是不够的。 IIS需要访问导致该文件的 ALL 目录。

e.g。可能有一袋钻石只是坐在地板上,上面有你的名字,但如果那个地板在一个锁着的银行金库内,你就不能去那里捡起它。

答案 1 :(得分:0)

我收到了同样的错误消息。检查文件夹的属性是否在“常规”选项卡中取消选中只读。在安全性选项卡中为网络服务提供写入控制。

Add MachineName\IIS_IUSRS permission to the shared folder.

希望这会奏效。