在浏览器不能识别文件类型时它会提示下载,但它显示的下载的文件名是“show_file[1].aspx",而不是它本身的文件名?
显示文件的代码如下:public void write_file(string strid)
{
SqlConnection conn=new SqlConnection(strconn);
string strcmd="select convocation_part,convocation_part_type,convocation_part_name from bg_convocation where convocation_id=@strid";
SqlCommand cmd=new SqlCommand(strcmd,conn);
cmd.Parameters.Add("@strid",strid);
conn.Open ();
SqlDataReader dr=cmd.ExecuteReader();
if(dr.Read())
{
Response.AddFileDependency(dr["convocation_part_name"].ToString());
Response.AddFileDependency(dr["convocation_part_name"].ToString());
Response.ContentType=dr["convocation_part_type"].ToString();
Response.BinaryWrite((byte[])dr["convocation_part"]);
}
dr.Close();
conn.Close();
}盼解决。
原码如下:
public void write_file(string strid)
{
SqlConnection conn=new SqlConnection(strconn);
string strcmd="select convocation_part,convocation_part_type,convocation_part_name from bg_convocation where convocation_id=@strid";
SqlCommand cmd=new SqlCommand(strcmd,conn);
cmd.Parameters.Add("@strid",strid);
conn.Open ();
SqlDataReader dr=cmd.ExecuteReader();
if(dr.Read())
{
Page.Response.AddHeader("Content-Disposition", "inline;filename=" + dr["convocation_part_name"].ToString());
Response.ContentType=dr["convocation_part_type"].ToString();
Response.BinaryWrite((byte[])dr["convocation_part"]);
}
dr.Close();
conn.Close();
}
Page.Response.AddHeader("Content-Disposition", "inline;filename=" + dr ["convocation_part_name"].ToString());
2.文件名不要用中文,要用英文