我面临问题。我保存为对话框无法在chrome中工作。但IE中的工作文件要求打开或保存文件。但是在Chrome中默认打开下载位置。我想要不同的位置,即使我选中了“问”在下载文件之前“google chrome.My文件的复选框在页面上创建动态,所以我不使用”HttpResponse类“的”TransmitFile“属性。
byte [] csvFile =来自DB的退出值;
Response.ContentType = "text/csv";
Response.ClearContent();
Response.Buffer = true;
Response.AddHeader("Content-Disposition", "attachment; filename=" + GetNoExtensionFileName(fileName) + ".csv");
Response.BinaryWrite(csvFile);
// Response.TransmitFile();
答案 0 :(得分:0)
尝试以下操作,首先清除缓冲区,使用双引号来允许文件名中的空格,添加内容长度,刷新缓冲区并结束流:
byte[] csvFile = ...;
Response.Clear();
Response.ContentType = "application/csv";
Response.AddHeader("Content-Disposition",
"attachment; filename=\"" + GetNoExtensionFileName(fileName) + ".csv\"");
Resopnse.AddHeader("Content-Length", csvFile.Length.ToString());
Response.BinaryWrite(csvFile);
Response.Flush();
Response.End();