2012-02-06 152 views
1

我需要將我的asp.net(C#)頁面上的文件上傳到遠程服務器。將文件上傳到遠程服務器

我設法從本地主機使用此代碼文件上傳到遠程服務器:

 string serverPath = "\\\\xx.xxx.xx.xx\\Folder\\" + FileUpload1.FileName; 
     FileUpload1.PostedFile.SaveAs(serverPath); 

但是在我公佈這個代碼到我的網絡服務器,它停止與錯誤「的網絡路徑未找到工作。 「

我看了一些建議使用UNC網絡共享和實現模擬的解決方案。 我無法弄清楚如何應用這些解決方案。

有人可以舉個例子,或者建議一個更簡單的解決方案。

謝謝!

回答

2

在FileUpload1.PostedFile.SaveAs(路徑)中,path是文件的物理路徑,No Url。您必須檢查:

  • 是物理文件夾Exsist?
  • 您可以訪問文件夾嗎?

如果這兩個問題的答案是真實支票驗證碼:

string serverPath = @"\\xxx.xxx.xxx.xxx\Folder\"; 
if (!System.IO.Directory.Exists(serverPath)) 
    System.IO.Directory.CreateDirectory(serverPath); 

FileUpload1.PostedFile.SaveAs(serverPath + FileUpload1.FileName); 
0

你在你的web服務器上傳需要一個虛擬目錄。在代碼中,您必須使用Server.Mappath(「虛擬路徑」)函數獲取其服務器路徑,然後保存到它。

1

您的應用程序在其下運行的帳戶必須具有對您試圖將文件上傳到的文件夾的寫入權限:\\xx.xxx.xx.xx\Folder\。因此,您必須在IIS中配置應用程序池才能在具有足夠權限的帳戶下運行。轉至IIS管理控制檯中的應用程序池屬性,您可以在其中指定要用於運行應用程序的帳戶。默認情況下,它使用內置帳戶,該帳戶將不會訪問共享資源。看看following article,它解釋瞭如何做到這一點。

相關問題