如何用asp.net自动下载数据库文件到本地
数据库表中有三个字段,ID, htm,和jpg都是二进制形式的,htm和jpg在一个文件夹的时候,htm里表格中会显示jpg的图片.htm和jpg都以ID为文件名.
现在想让一个asp.net一页面中,输入ID,再点一个按钮的时候,可以看到html中的网页,且网页中图片正常显示.
试过在服务器端建立相应的以ID为名的jpg和html文件,可行,但感觉这方法不好,想写在客户端,
if (File.Exists(@"D:\c#\zhiban2\yuns.htm"))
{
FileInfo info = new FileInfo(@"D:\c#\zhiban2\yuns.htm");
info.Delete();
}
filesize = getfilesize(banh);
SqlDataReader read = null;
SqlCommand SqlCmd = new SqlCommand();
SqlCmd.Connection = new SqlConnection(dbcon);
SqlCmd.CommandText = "select top 1 htm from 文件 where ID='" + banh + "'";
SqlCmd.CommandType = CommandType.Text;
SqlCmd.Connection.Open();
SqlDataAdapter SqlAd = new SqlDataAdapter(SqlCmd);
DataSet Rs = new DataSet();
SqlAd.Fill(Rs);
DataTable dt = Rs.Tables[0];
read = SqlCmd.ExecuteReader();
read.Read();
byte[] b = new byte[Convert.ToInt32(filesize)];
// byte[] jpgcontent = (byte[])dt.Rows[0]["jpg"];
// = _ValueBytes;
//buf是保存该二进制流的变量,类型为byte []
//filecontent = BitConverter.ToString(_ValueBytes);
b = (byte[])read[0];
FileStream fs = new FileStream(@"D:\c#\zhiban2\yuns.htm", FileMode.CreateNew);
BinaryWriter bw = new BinaryWriter(fs);
bw.Write(b, 0, Convert.ToInt32(filesize));
fs.Close();
bw.Close();
执行以上代码,还是写在了服务器端,
如何写文件直接写到客户端呢,在asp.net C#中,thks
------解决方案--------------------
出于ie或是ff的安全性,你可以用js去写,但是会有安全性的提示