2016-07-27 82 views
-3

我在需要顯示客戶機上的文件夾中的所有xml文件的aspx頁面中有一個gridview。無論如何,如果您擁有目錄路徑,您可以獲取文件夾的內容嗎?我有下面的代碼工作正常(因爲我從我的機器上運行它),但我不知道如果應用程序運行時從服務器運行。通過Web應用程序從本地文件夾獲取文件

WebForm.aspx

<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="WebForm3.aspx.cs" Inherits="dotImage.WebForm3" %> 

<!DOCTYPE html> 

<html> 
<body> 
    <form runat="server"> 
    <asp:GridView ID="GridView1" runat="server" AutoGenerateColumns="true" Height="487px" Width="1176px" ViewStateMode="Enabled"> 
    </asp:GridView> 
    </form> 

</body> 
</html> 

WebForm.aspx.cs

protected void Page_Load(object sender, EventArgs e) 
    { 
     if (Directory.Exists("C:\\Users\\Desktop\\test data")) 
     { 
      DirectoryInfo di = new DirectoryInfo("C:\\Users\\Desktop\\test data"); 
      DirectoryInfo[] subDirs = di.GetDirectories(); 

      foreach (DirectoryInfo pendingBatch in subDirs) 
      { 
       if (pendingBatch.Exists && pendingBatch.GetFiles("*.xml").Length > 0) 
       { 
       //code to add files to a dataset 
       } 
      } 
     } 
     //bind dataset to the gridview. 
    } 
+0

當您嘗試在服務器上運行它時會發生什麼?如果服務器與本地計算機具有相同的目錄結構,並且您的Web應用程序進程有權訪問本地文件,它應該可以工作。如果您詢問您的應用程序是否可以在遠程服務器上運行時訪問本機上的本地文件,則答案爲否。 –

+0

試試你的服務器。如果遇到問題(例如發生IOException,找到零個文件等),請告訴我們發生了什麼,我們會盡力提供幫助。 –

+1

另外'C:\\ Users \\ Desktop \\測試數據'幾乎肯定是無效的路徑。用戶的名字應該出現在用戶和桌面之間。 –

回答

0

出於安全原因,Web瀏覽器不能訪問客戶機文件的文件夾路徑。

相關問題