- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我需要单击一次按钮导出 2 个 csv 文件。下面是我生成 2 个 csv 文件的代码:
using System.Data;
using System.Data.SqlClient;
using System.Text;
using System.IO;
using System;
using System.Configuration;
using System.IO.Packaging;
using System.Web;
namespace ExportToCsv
{
public partial class WebForm1 : System.Web.UI.Page
{
//Build the CSV file data as a Comma separated string.
string csvHeader = string.Empty;
//Build the CSV file data as a Comma separated string.
string csvDetails = string.Empty;
protected void Page_Load(object sender, EventArgs e)
{
}
protected void ExportCSV(object sender, EventArgs e)
{
string constr = ConfigurationManager.ConnectionStrings["ConStr"].ConnectionString;
using (SqlConnection con = new SqlConnection(constr))
{
using (SqlCommand cmd = new SqlCommand("select * from mytable-1")
{
using (SqlDataAdapter sda = new SqlDataAdapter())
{
cmd.Connection = con;
sda.SelectCommand = cmd;
using (DataTable dt = new DataTable())
{
sda.Fill(dt);
//foreach (DataRow rows in dt.Rows)
//{
foreach (DataColumn column in dt.Columns)
{
//Add the Header row for CSV file.
csvHeader += column.ColumnName + ' ';
}
//Add new line.
csvHeader += "\r\n";
foreach (DataRow row in dt.Rows)
{
foreach (DataColumn column in dt.Columns)
{
//Add the Data rows.
csvHeader += row[column.ColumnName].ToString().Replace(",", ";") + ' ';
}
//Add new line.
csvHeader += "\r\n";
}
//}
Response.Clear();
Response.Buffer = true;
Response.AddHeader("content-disposition", "attachment;filename=HeaderSection.txt");
Response.Charset = "";
Response.ContentType = "application/text";
Response.Output.Write(csvHeader);
}
}
}
using (SqlCommand cmd = new SqlCommand("select * from mytable-2")
{
using (SqlDataAdapter sda = new SqlDataAdapter())
{
cmd.Connection = con;
sda.SelectCommand = cmd;
using (DataTable dt = new DataTable())
{
sda.Fill(dt);
//foreach (DataRow rows in dt.Rows)
//{
foreach (DataColumn column in dt.Columns)
{
//Add the Header row for CSV file.
csvDetails += column.ColumnName + ' ';
}
//Add new line.
csvDetails += "\r\n";
foreach (DataRow row in dt.Rows)
{
foreach (DataColumn column in dt.Columns)
{
//Add the Data rows.
csvDetails += row[column.ColumnName].ToString().Replace(",", ";") + ' ';
}
//Add new line.
csvDetails += "\r\n";
}
//}
// Download the CSV file.
Response.Clear();
Response.Buffer = true;
Response.AddHeader("content-disposition", "attachment;filename=DetailSection.txt");
Response.Charset = "";
Response.ContentType = "application/text";
Response.Output.Write(csvDetails);
Response.Flush();
Response.End();
}
}
}
}
}
}
}
using
语句,这些函数可以正常工作,但是当我添加第二个
using
语句来编写第二个 csv 时,我的浏览器(
Chrome )给出了错误
Err_Response_Headers_Multiple_Content_Disposition
最佳答案
我用这篇文章解决了
This error was bugging me whole of last week. This error is specific to Google Chrome. Not a bug in chrome itself though, as other browsers ignore duplicate headers, this seems like an issue with Chrome. This can be addressed easily the following ways, if you or your web app is sending out headers.
1 - Enclose filename using "". i.e
header('Content-Disposition: attachment; filename="'.$file_name.'"');
instead of
header('Content-Disposition: attachment; filename='.$file_name);
2 - If possible replace spaces and commas (,) with underscores (_)
$file_name = str_replace(array('"', "'", ' ', ','), '_', $file_name);
3 - Explicitly tell PHP to override headers by setting optional replace parameter to true.
header('Content-type: application/pdf', true);
关于c# - Err_Response_Headers_Multiple_Content_Disposition,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39404949/
我需要单击一次按钮导出 2 个 csv 文件。下面是我生成 2 个 csv 文件的代码: using System.Data; using System.Data.SqlClient; using S
我已存储用户在 AWS S3 上上传的图像。当用户在浏览器中查看这些图像时,它们的 URL 指向我的应用程序,我在其中使用 s3.getSignedUrl 重定向到临时签名的 URL。 99% 的情况
我是一名优秀的程序员,十分优秀!