2015-02-11 47 views
1

我試圖檢索文件夾中所有文件名的列表,無論其擴展名爲eg.txt。這些文件將主要是.wav。使用C檢索文件夾中的所有文件名#

到目前爲止,我有:

public string GetSoundFile(string pSoundFolder) 
    { 
     string[] pFiles = Directory.GetFiles(pSoundFolder, "*.wav", SearchOption.AllDirectories); 

     string pFileList = ""; 
     for (int ii = 0; ii < pFiles.Length; ii++) 
     { 
      pFileList += "|" + pFiles[ii];      
     } 

     return (pFileList); 
    } 

功能正通過使用JavaScript AJAX調用調用。

我叫AJAX如下:

oGetSoundFilesJAXHandler.call("C:\\Projects"); 

的問題是,它返回空白。

我曾嘗試計數的文件夾中的文件數量如下:

int fCount = Directory.GetFiles(pSoundFolder, "*", SearchOption.AllDirectories).Length; 

但它仍然會返回空白。

我試圖調整的路徑:

oGetSoundFilesJAXHandler.call("C:\\Projects\\"); 

,但沒有運氣,我已經嘗試設置使用的文件路徑「@」:

string[] pFiles = Directory.GetFiles(@pSoundFolder, "*.wav", SearchOption.AllDirectories); 

但仍沒有運氣。

我在做什麼錯?

+0

可以調試在執行它的代碼? 'pSoundFolder'使用的實際參數是什麼?它可能也是一個訪問權限問題。 – Codor 2015-02-11 10:11:49

+2

現在忽略輸入參數,只需在GetSoundFile()方法中放入硬編碼路徑,然後查看它是否會生成結果。你確定這條道路是正確的嗎? (另外,通過AJAX調用一個包含文件路徑的方法是要求麻煩的,我不會這麼做!) – 2015-02-11 10:13:13

+0

我已經解決了,它。代碼一切正常,我只是沒有告訴AJAX將響應寫回JavaScript。我同意使用AJAX發送文件路徑。我正在逐步建立,所以在開發過程中會進一步解決這個問題。 – Alex 2015-02-11 10:16:47

回答

0

嘗試在一個簡單的控制檯應用程序中執行該代碼,如果它在那裏工作,那麼你100%確定代碼確實很好,並且它是一個訪問問題。 對代碼進行異常處理,以確保它不會拋出任何異常。

0

這是一個長鏡頭,但嘗試使用的WebMethod,你的方法是否工作正常不過:

[WebMethod] 
    public string GetSoundFile(string pSoundFolder) 
     { 
      string[] pFiles = Directory.GetFiles(pSoundFolder, "*.wav", SearchOption.AllDirectories); 

      string pFileList = ""; 
      for (int ii = 0; ii < pFiles.Length; ii++) 
      { 
       pFileList += "|" + pFiles[ii];      
      } 

      return (pFileList); 
     } 
相關問題