ASP.NET读取数据数据库二进制问题
把文件转换成二进制放到SQL里了。想实现下载文件的功能。stringid=Request.QueryString["FileName"].ToString();using...
把文件转换成二进制放到SQL里了。
想实现下载文件的功能。
string id = Request.QueryString["FileName"].ToString();
using (SqlConnection conn = jx.Class.DBConn.jxConn())
{
string comm = string.Format("select * from Files where FileName ='{0}'", id);
SqlDataAdapter sda = new SqlDataAdapter(comm, conn);
DataTable dt = new DataTable();
sda.Fill(dt);
if (dt.Rows.Count > 0)
{
string FileName = dt.Rows[0]["File_N"].ToString();
Response.Clear();
Response.Buffer = true;
Response.Charset = "utf-8";
Response.AppendHeader("Content-Disposition", "attachment;filename=" + FileName);
Response.ContentEncoding = System.Text.Encoding.GetEncoding("utf-8");
Response.ContentType = "application/ms-excel";
Response.BinaryWrite((byte[])dt.Rows[0]["File_N"]);
}
}
用了这个代码,读取出来了,可以下载了。。。
但是下载下来的东西没有后缀。自己改后缀后可以显示图片了。
希望大大说一下错在哪里?
上面File_N是二进制列。
FileName是文件名。ID是从另外的页面传值过来的。
EXE和图片文件都试过了,都可以下载,但是都是这个名字。。
而且要我自己加后缀。。
希望大家帮下看看是哪里错了 展开
想实现下载文件的功能。
string id = Request.QueryString["FileName"].ToString();
using (SqlConnection conn = jx.Class.DBConn.jxConn())
{
string comm = string.Format("select * from Files where FileName ='{0}'", id);
SqlDataAdapter sda = new SqlDataAdapter(comm, conn);
DataTable dt = new DataTable();
sda.Fill(dt);
if (dt.Rows.Count > 0)
{
string FileName = dt.Rows[0]["File_N"].ToString();
Response.Clear();
Response.Buffer = true;
Response.Charset = "utf-8";
Response.AppendHeader("Content-Disposition", "attachment;filename=" + FileName);
Response.ContentEncoding = System.Text.Encoding.GetEncoding("utf-8");
Response.ContentType = "application/ms-excel";
Response.BinaryWrite((byte[])dt.Rows[0]["File_N"]);
}
}
用了这个代码,读取出来了,可以下载了。。。
但是下载下来的东西没有后缀。自己改后缀后可以显示图片了。
希望大大说一下错在哪里?
上面File_N是二进制列。
FileName是文件名。ID是从另外的页面传值过来的。
EXE和图片文件都试过了,都可以下载,但是都是这个名字。。
而且要我自己加后缀。。
希望大家帮下看看是哪里错了 展开
展开全部
Response.AppendHeader("Content-Disposition", "attachment;filename=" + FileName);
改为
Response.AppendHeader("Content-Disposition", "attachment;filename=" + FileName+".jpg");
就是在这句最后加上文件扩展名
追问
但是我不只传JPG文件啊。。我试过EXE。可以下载,下载后加了后缀依旧是可以用。
追答
Response.AppendHeader("Content-Disposition", "attachment;filename=" + FileName+".rar");
光点科技
2023-08-15 广告
2023-08-15 广告
通常情况下,我们会按照结构模型把系统产生的数据分为三种类型:结构化数据、半结构化数据和非结构化数据。结构化数据,即行数据,是存储在数据库里,可以用二维表结构来逻辑表达实现的数据。最常见的就是数字数据和文本数据,它们可以某种标准格式存在于文件...
点击进入详情页
本回答由光点科技提供
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询