2012-09-14 108 views
1

我會從客戶端上傳文件上傳控制圖像並將其轉換成流對象並將其發送到WCF服務拒絕的路徑,這個過程用asp.net應用程序工作,但當我在IIS 5.1承載此應用程序,同時上傳它顯示錯誤的文檔訪問上傳文件時

訪問路徑「C:\ Documents和Settings \ patnayak \桌面\ 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); 
       } 
      } 

回答

0

這是不夠授予權限只是文件。 IIS需要訪問導致對文件目錄的所有

例如可能有一袋鑽石坐在地板上,上面有你的名字,但如果這個地板在一個鎖定的銀行保險庫內,你就不能去那裏撿起它。

+0

請讓我知道怎麼哪些權限必須給在IIS 5.1 – Sridhar

0

我得到了相同的錯誤消息。檢查文件夾的屬性是否在常規選項卡中取消選中只讀。在安全性選項卡中給出網絡服務的寫入控制。

Add MachineName\IIS_IUSRS permission to the shared folder. 

希望這會工作。