0

PEが生成されたbinフォルダーを調べようとしましたが、そこに保存されていません。ASP.NEtWebフォームを使用しています。

string tempExcelFilePath = "tempExcel.xls";
FileStream fs = new FileStream(tempExcelFilePath, FileMode.Create, FileAccess.ReadWrite);
BinaryWriter bw = new BinaryWriter(fs);
bw.Write(fileBytes);//fileBytes is an array of bytes= byte[]
bw.Close();
4

3 に答える 3

0

一般に、Windows API 呼び出しにパス情報を含まないファイル名を指定すると (そして、FileStreamコンストラクターが最終的に Windows 関数を呼び出します)、現在のディレクトリでファイルを探します。 、現在のディレクトリ。これは相対パスにも当てはまります (つまり、ファイル名として "SubFolder\tempExcel.xls" を指定した場合)。

System.Environment.CurrentDirectoryプロパティまたはSystem.IO.Directory.GetCurrentDirectory()メソッドを使用して、コードで現在のディレクトリを簡単に特定できます。同じプロパティを使用して設定することもできます (プロセス全体で、忘れないでください)。System.IO.Directory.SetCurrentDirectory()

デフォルトでは、現在のディレクトリはプロセスを開始したEXEの場所に設定されると思いますが、それを変更できるものがあります-たとえば、ショートカットの「開始フォルダー」パラメーター。または、プロセスで以前に実行され、現在のディレクトリを設定したその他のコード。FilePicker ダイアログはそれを行う傾向があります。

于 2013-02-05T20:28:09.043 に答える
0

ファイルの完全なパスは、fs.Nameコードに格納されています。

于 2013-02-05T20:23:45.173 に答える
0

C:\Program Files (x86)\Common Files\Microsoft Shared\DevServer\10.0\tempExcel.xls

于 2013-02-04T22:32:03.250 に答える