vs2005 做个页面下载
部分代码:
SqlDataReader sdr = sqlCmd.ExecuteReader();
sdr.Read();
//设置缓冲启用
this.Response.Buffer = true;
//清除提交
this.Response.Clear();
//申明一个字节流的数组
byte[] fileByteBack;
//----------------------------------------------------------------------------------------------
this.Response.AddHeader("Content-Disposition", "attachment;filename=" + this.Server.HtmlDecode(sdr[2].ToString()).ToString());
fileByteBack = (byte[])sdr["Attachment1"]; //---------------------------------------------------------------------------------------
if (fileByteBack.Length != 0)
{
this.Response.BinaryWrite(fileByteBack);
}
//----------------------------------------------------------------------------------
//刷新
this.Response.Flush();
//下载结束
this.Response.End();
sdr.Close();
con.Close();
数据是从sql存 varbinary类型
数据是文件 在浏览器弹出下载页面的时候 不能自己识别文件类型 总是Type:HTML Document
文件又.rar的 .doc 等……
问怎么才能让他 弹出下载页面的时候 自动识别文件类型的Type????
请告诉 赐教 谢谢了
部分代码:
SqlDataReader sdr = sqlCmd.ExecuteReader();
sdr.Read();
//设置缓冲启用
this.Response.Buffer = true;
//清除提交
this.Response.Clear();
//申明一个字节流的数组
byte[] fileByteBack;
//----------------------------------------------------------------------------------------------
this.Response.AddHeader("Content-Disposition", "attachment;filename=" + this.Server.HtmlDecode(sdr[2].ToString()).ToString());
fileByteBack = (byte[])sdr["Attachment1"]; //---------------------------------------------------------------------------------------
if (fileByteBack.Length != 0)
{
this.Response.BinaryWrite(fileByteBack);
}
//----------------------------------------------------------------------------------
//刷新
this.Response.Flush();
//下载结束
this.Response.End();
sdr.Close();
con.Close();
数据是从sql存 varbinary类型
数据是文件 在浏览器弹出下载页面的时候 不能自己识别文件类型 总是Type:HTML Document
文件又.rar的 .doc 等……
问怎么才能让他 弹出下载页面的时候 自动识别文件类型的Type????
请告诉 赐教 谢谢了
http://blog.csdn.net/CloneCenter/archive/2005/07/07/416450.aspx
Response.AddHeader...
而且存的文件类型也不一样 有zip,rar,do 等……
用 Response.ContentType = "application/octet-stream"; 不行啊有没有让它自动判断文件的代码啊????弄半天了 郁闷!!!救命啊!!!!!!!!!!!!!!!!!!!!!!!!!