2015-02-11 94 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); 
     } 
相关问题