string sID = GridView1.DataKeys[GridView1.SelectedIndex].Value.ToString();
if (sID.Length < 1)
sID = "-1"; string strSQL = "select * from 文档 where id = " + sID;
sqlconn = new SqlConnection(conn);
sqlconn.Open();
SqlCommand cmd = new SqlCommand(strSQL, sqlconn);
SqlDataReader reader = cmd.ExecuteReader(); Context.Response.Buffer = true;
Context.Response.Clear();
Context.Response.ContentType = reader["文档类型"].ToString();
Context.Response.AddHeader("Content-Disposition", "attachment;filename=" + HttpUtility.UrlEncode(reader["文档名称"].ToString()));
Context.Response.BinaryWrite((Byte[])reader["文档数据"]);
Context.Response.Flush();
Context.Response.End(); sqlconn.Close();
SelInsert(sID);
这一段是我写的从数据库下载文件的代码
下载是出现
文件名是乱码并且保存类型就是文档两个字这段程序运行完后
会出现中止线程的异常请各位高手帮忙看看
if (sID.Length < 1)
sID = "-1"; string strSQL = "select * from 文档 where id = " + sID;
sqlconn = new SqlConnection(conn);
sqlconn.Open();
SqlCommand cmd = new SqlCommand(strSQL, sqlconn);
SqlDataReader reader = cmd.ExecuteReader(); Context.Response.Buffer = true;
Context.Response.Clear();
Context.Response.ContentType = reader["文档类型"].ToString();
Context.Response.AddHeader("Content-Disposition", "attachment;filename=" + HttpUtility.UrlEncode(reader["文档名称"].ToString()));
Context.Response.BinaryWrite((Byte[])reader["文档数据"]);
Context.Response.Flush();
Context.Response.End(); sqlconn.Close();
SelInsert(sID);
这一段是我写的从数据库下载文件的代码
下载是出现
文件名是乱码并且保存类型就是文档两个字这段程序运行完后
会出现中止线程的异常请各位高手帮忙看看
string sID = GridView1.DataKeys[GridView1.SelectedIndex].Value.ToString();
if (sID.Length < 1)
sID = "-1"; string strSQL = "select * from 文档 where id = " + sID;
sqlconn = new SqlConnection(conn);
sqlconn.Open();
SqlCommand cmd = new SqlCommand(strSQL, sqlconn);
SqlDataReader reader = cmd.ExecuteReader();
if(reader.Read())
{
Context.Response.Buffer = true;
Context.Response.Clear();
Context.Response.ContentType = reader["文档类型"].ToString();
Context.Response.AddHeader("Content-Disposition", "attachment;filename=" + HttpUtility.UrlEncode(reader["文档名称"].ToString()));
Context.Response.BinaryWrite((Byte[])reader["文档数据"]);
Context.Response.Flush();
Context.Response.End();
}
sqlconn.Close();
SelInsert(sID);
不会是你数据字段就是中文吧!
格式化了吗gb2312
前面加上Response.Charset = "utf-8";有用嘛
2.有可能是你的reader["文档名称"]有空格,去掉空格
http://www.cnblogs.com/insus/articles/1411761.html