//以下是下载的代码,
string imgid =imgName.Value;
string filename;
string sql="SELECT imgtitle,imgdata,imgtype FROM ImageStore WHERE id = " + imgid;
SqlConnection connection = new SqlConnection("server=.;uid=sa;pwd=50277;database=pubs");
SqlCommand command = new SqlCommand(sql, connection);
connection.Open();
SqlDataReader dr = command.ExecuteReader();
if(dr.Read())
{
//正确显示中文文件名
Response.ContentEncoding=System.Text.Encoding.GetEncoding("GB2312");
filename="attachment;filename="+HttpUtility.UrlEncode(dr["imgtitle"].ToString(),System.Text.Encoding.UTF8);
Response.AppendHeader("Content-Disposition",filename);
Response.ContentType = dr["imgtype"].ToString();
Response.BinaryWrite((byte[]) dr["imgdata"]);
Response.End();
}
connection.Close();
//下面是数据库的表
if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[ImageStore]') and OBJECTPROPERTY(id, N'IsUserTable') = 1)
drop table [dbo].[ImageStore]
GOCREATE TABLE [dbo].[ImageStore] (
[ID] [int] IDENTITY (1, 1) NOT NULL ,
[IMGTitle] [varchar] (50) COLLATE Chinese_PRC_CI_AS NULL ,
[IMGType] [varchar] (50) COLLATE Chinese_PRC_CI_AS NULL ,
[IMGData] [image] NULL ,
[IMGLen] [bigint] NULL
) ON [PRIMARY] TEXTIMAGE_ON [PRIMARY]
GO
//下载的任何类型文件都只能下载的文件名,文件的内容只有几个乱码或没有东西?
各位老大帮帮忙,我这两天快被压死了!好多的东西要写!
string imgid =imgName.Value;
string filename;
string sql="SELECT imgtitle,imgdata,imgtype FROM ImageStore WHERE id = " + imgid;
SqlConnection connection = new SqlConnection("server=.;uid=sa;pwd=50277;database=pubs");
SqlCommand command = new SqlCommand(sql, connection);
connection.Open();
SqlDataReader dr = command.ExecuteReader();
if(dr.Read())
{
//正确显示中文文件名
Response.ContentEncoding=System.Text.Encoding.GetEncoding("GB2312");
filename="attachment;filename="+HttpUtility.UrlEncode(dr["imgtitle"].ToString(),System.Text.Encoding.UTF8);
Response.AppendHeader("Content-Disposition",filename);
Response.ContentType = dr["imgtype"].ToString();
Response.BinaryWrite((byte[]) dr["imgdata"]);
Response.End();
}
connection.Close();
//下面是数据库的表
if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[ImageStore]') and OBJECTPROPERTY(id, N'IsUserTable') = 1)
drop table [dbo].[ImageStore]
GOCREATE TABLE [dbo].[ImageStore] (
[ID] [int] IDENTITY (1, 1) NOT NULL ,
[IMGTitle] [varchar] (50) COLLATE Chinese_PRC_CI_AS NULL ,
[IMGType] [varchar] (50) COLLATE Chinese_PRC_CI_AS NULL ,
[IMGData] [image] NULL ,
[IMGLen] [bigint] NULL
) ON [PRIMARY] TEXTIMAGE_ON [PRIMARY]
GO
//下载的任何类型文件都只能下载的文件名,文件的内容只有几个乱码或没有东西?
各位老大帮帮忙,我这两天快被压死了!好多的东西要写!
{
//正确显示中文文件名
Response.ContentEncoding=System.Text.Encoding.GetEncoding("GB2312");
filename="attachment;filename="+HttpUtility.UrlEncode(dr["imgtitle"].ToString(),System.Text.Encoding.UTF8);
Response.AppendHeader("Content-Disposition",filename);
Response.ContentType = dr["imgtype"].ToString();
Response.BinaryWrite((byte[]) dr["imgdata"]);
}Response.End(); //移到外面看看.不知道数据库里真有数据没?
2. 再执行下载过程.我就这么干的.
Response.AppendHeader("Content-Disposition",filename);
Response.ContentType = dr["imgtype"].ToString();
Response.BinaryWrite((byte[]) dr["imgdata"]);
{ Response.ContentEncoding=System.Text.Encoding.GetEncoding("GB2312");
filename="attachment;filename="+HttpUtility.UrlEncode(dr["imgtitle"].ToString(),System.Text.Encoding.UTF8);
Response.AppendHeader("Content-Disposition",filename);
Response.ContentType = dr["imgtype"].ToString();
Response.BinaryWrite((byte[]) dr["imgdata"]);
filename="attachment;filename="+HttpUtility.UrlEncode(dr["imgtitle"].ToString(),System.Text.Encoding.Default);
try: System.Text.Encoding.Default}