テーブルがExcelスプレッドシートに変換されたASP.NET Webアプリケーションを開発しています。私は、ダウンロードセクション以外の場所に保存するオプションをユーザーに与えたいと思います。これは禁止されている可能性が高いことは分かっていますが、ASP.netフレームワークによって促進される何らかのクラス/メカニズムがあるかもしれません。ファイル名は、実際に私のコードでファイルパス+ファイル名を記憶しているとして、私はファイル名を使用しています方法は、この文脈では間違っている知っている指定されたダウンロードフォルダ以外の別のフォルダにプログラムで保存する方法はありますか?
protected void saveDataButton_Click(Object sender, EventArgs e)
{
SaveFileDialog browser = new SaveFileDialog();
string fileName;
if (browser.ShowDialog() == DialogResult.OK)
{
fileName = browser.FileName;
}
else
return;
DataTable table = (DataTable)Session["tableData"];
HttpContext context = HttpContext.Current;
context.Response.Clear();
context.Response.ContentType = "text/csv";
context.Response.AppendHeader("Content-Disposition", "attachment; filename=" + fileName + ".csv");
foreach (DataColumn column in table.Columns)
{
context.Response.Write(column.ColumnName + ";");
}
context.Response.Write(Environment.NewLine);
foreach (DataRow row in table.Rows)
{
for (int i = 0; i < row.ItemArray.Length; i++)
{
context.Response.Write(row[i].ToString().Replace(";", string.Empty) + ";");
}
context.Response.Write(Environment.NewLine);
}
context.Response.End();
}
:
は、ここに私の現在のコードです。ファイルパスを指定する方法はありますか?
私が考えることができる唯一の他の解決策は、ページ上に何らかの種類のファイルを作成し、右クリック+保存をした場合です。これは悪い選択肢ですか?他にはありますか?
WindowsアプリケーションまたはASP.Net Webフォームアプリケーションは、Webに似ていますか? – Lloyd
あなたは本当にASP.NETアプリケーションでSaveFileDialogを使用していますか? –
ペリ:もはやロル。あまり意味がない。 /embarassment – Chad