怎么实现点击下载?
某个文件的路径放在数据库中,怎么才能实现通过点击下载? --------------------编程问答-------------------- 可以利用a标签下载。从数据库中读出路径然后给a的href赋值就可以了。<a href='...'>点击下载</a> --------------------编程问答-------------------- this.lblUrl.Text = reader["url"].ToString();我读取得到数据库的url,但是不知道该怎么用 --------------------编程问答-------------------- 盘符 放进去 --------------------编程问答-------------------- 回答具体点吧?我算是新手级别 --------------------编程问答-------------------- 读取得到数据库的url 也就是下载的文件名 temp.txt
然后你上传的文件放在哪个文件夹下 如根目录的abc文件夹
那么路径就是/abc/temp.txt 其中temp.txt 就是你读取出来的 reader["url"].ToString()
点击a链接的时候即可下载 --------------------编程问答-------------------- 1.点击下载的时候跳转到新的页面download.aspx?url=你的文件夹url&name=默认保存的名字
2.download.aspx页面的pageload事件:
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
string fileName = Path.GetFileName(Request.QueryString["name"]);
string filePath = HttpContext.Current.Server.MapPath(Request.QueryString["url"]); //路径
Response.Clear();//清楚下载文件之前的response内容,以免写入多余response,导致下载文件出错
Response.ClearHeaders();//清楚下载前头文件,以免冲突出错
Response.Buffer = false;
FileStream downfile = new FileStream(filePath, FileMode.Open, FileAccess.Read);//创建文件流,并指定文件权限
byte[] data = new byte[downfile.Length];//大文件字节数组会溢出,导致出错
downfile.Read(data, 0, data.Length);//将文件写如字节数组(流)
downfile.Close();
Response.ContentType = "application/octet-stream";//制定下载的文件格式
Response.ContentEncoding = System.Text.Encoding.Default;//制定下载的文件的格式编码
Response.AppendHeader("content-disposition", "attachment;filename=" + fileName);//内容配置,以附件下载,并下载文件名
Response.BinaryWrite(data);
Response.Flush();
Response.End();
}
}
补充:.NET技术 , ASP.NET