相対パスを使用してTXTファイルにデータを書き込むasp.net Webサイトがあります。これは、次のコマンドで行います。
string currentDirectory = "./";
string individualDeviceTxt = "myfile.txt";
System.IO.StreamWriter fileW3 = new System.IO.StreamWriter(currentDirectory + individualDeviceTxt);
ファイルは次のパスに正常に書き込まれます。
C:\Program Files (x86)\Common Files\microsoft shared\DevServer\10.0
ただし、後でこのファイルをユーザーに送信しようとすると、相対ディレクトリ ./ が別のパスを指しています。コードは次のとおりです。
System.Web.HttpResponse response = System.Web.HttpContext.Current.Response;
response.Clear();
response.AddHeader("Content-Disposition", "attachment; filename=" + currentDirectory + individualDeviceTxt + ";");
response.TransmitFile(currentDirectory + individualDeviceTxt);
response.End();
ファイル FROM 'C:\Users\user\documents\visual studio 2010\Projects\myproject\myfile.txt を送信しようとしていますが、これは正しくありません (存在しません)。
したがって、"./" が 2 番目のコード スニペットの別のフォルダーを指していることは明らかですが、最初のコード スニペットで使用されているのと同じ "./" を指している必要があります。これを実現するにはどうすればよいですか? 両方の場所で myfile.txt のディレクトリとして ./ を引き続き使用したいと思います。