0

私は C# と ASP.NET が初めてで、ページに表示するためにディレクトリからファイルを読み込もうとしています。私が直面している問題は、読み取ろうとしているファイルが独自の電話録音ソフトウェアからのものであり、ファイルに拡張子がないため、 Directory.GetFiles( を使用してディレクトリ内のファイルを読み取ろうとしている場合) directoryName) ディレクトリが空であるかのように、何も返されません。ただし、ファイルに拡張子が付いている別のディレクトリを使用すると、ファイルのリストを取得できます。

何か案は?

コードサンプル

string path = "C:\\Users\\directoryName";

foreach (string filename in Directory.GetFiles(path))
{
 FileInfo file = new FileInfo(filename);
 string name = file.Name;
 Response.Write(name);
}

提供されたヘルプに事前に感謝します。

4

4 に答える 4

3

拡張子のないファイルでは機能しないことに少し懐疑的でした。だから私は拡張子のないファイルを含むテストディレクトリのコンソールアプリケーションであなたが提供したコードを試しました。それは私にとってはうまくいきます。拡張機能がないという事実が問題だとは思いません。

ディレクトリが正しいこと、IIS (アプリケーションのアプリケーション プール アカウント) がディレクトリ内のファイルにアクセスする権限を持っていること、およびそのディレクトリ内にファイルがあることを確認します。

于 2012-05-31T15:09:43.127 に答える
1
Use Directory.GetFiles(path, "*.*")
于 2012-05-31T15:03:35.900 に答える
1

拡張子のないファイルのみを取得する場合は、次のようにします。

        foreach (String sFile in Directory.GetFiles("PATH", "*."))
        {
            Responce.Write(System.IO.Path.GetFileName(sFile));
        }

Chris にも同意します。IIS には、ディレクトリにアクセスしてファイルを一覧表示する権限がない可能性があります。

于 2012-05-31T15:13:26.847 に答える
0

Directory.GetFilesオーバーロードを使用して、すべてのファイルを含めることができます。

Directory.GetFiles(path, "*")
于 2012-05-31T15:03:48.543 に答える