protected void download(object sender, EventArgs e)
{
string tableName = "tbl_attach";
string filedesc = "filedesc";
string strConn = "server=.;database=web;uid=sa;pwd=rezin";
SqlConnection cn = new SqlConnection(strConn);
SqlCommand cm = new SqlCommand();
cm.Connection = cn;
cm.CommandType = CommandType.Text;
if (cn.State == 0)
{
cn.Open();
}
cm.CommandText = "select " + filedesc + " from " + tableName + " where attachid=5";
//SqlDataReader results = cm.ExecuteReader();
//客户端保存的文件名
string fileName = "bbb.zip";
//下载路径
string filePath = Server.MapPath("Download/aaa.txt");
//以字符流的形式下载文件
FileStream fs = new FileStream(filePath, FileMode.Open);
byte[] bytes = new byte[(int)fs.Length];
fs.Read(bytes, 0, bytes.Length);
fs.Close();
Response.ContentType = "application/octet-stream";
//通知浏览器下载文件而不是打开
Response.AddHeader("Content-Disposition", "attachment; filename=" + HttpUtility.UrlEncode(fileName, System.Text.Encoding.UTF8));
Response.BinaryWrite(bytes);
Response.Flush();
Response.End();
}
新手,在网上参考的代码,我想知道怎么下载从数据库取出的文件名,用cm.CommandText下载的是sql(cm.CommandText = "select " + filedesc + " from " + tableName + " where attachid=5";)语句,怎样才能显示为查询出来的文件名,还有string fileName = "bbb.zip";下载文件名怎么显示为默认的名字!谢谢!
解决方案 »
- 怎么制作在线安装包?
- 违反并发性: UpdateCommand 影响了预期 1 条记录中的 0 条。
- Visual Studio C#.NET 2005的Web应用问题
- C#目前主要用来做那类程序?
- 请教,防止二重启动的问题,急。。。
- 求一个销售和的sql
- ★★求助:请问怎样把日期转换为大写?★★
- 求助当选中listbox某一个值的时候,怎么让treeview展开,并且也选中跟这个值相同的节点?
- 一个超级发牌洗牌程序。算法有点小问题。无聊的人来看看。
- 请教个问题:用什么工具可以开发在大部分手机上使用的软件?
- 有什么办法在一个已封装的类的实例中保存一个对象
- 新人求助 学习了半年的C# 感觉不给力啊
/// <summary>
/// 执行查询语句,返回DataSet
/// </summary>
/// <param name="SQLString">查询语句</param>
/// <returns>DataSet</returns>
public static DataSet Query(string SQLString)
{
using (SqlConnection connection = new SqlConnection(connectionString))
{
DataSet ds = new DataSet();
try
{
connection.Open();
SqlDataAdapter command = new SqlDataAdapter(SQLString, connection);
command.Fill(ds, "ds");
}
catch (System.Data.SqlClient.SqlException ex)
{
throw new Exception(ex.Message);
}
return ds;
}
}调用:
string sql="";
DataTable dt =new DataTable();
dt=Query(sql).Table[0];