发布网友 发布时间:2022-09-13 04:34
共2个回答
热心网友 时间:2024-12-14 07:26
最简单的没有安全控制的方式:<a href='/苍老师全集.pdf'> 中日交流电子书</a>追答Response.AddHeader("Content-Disposition", "attachment;filename=" + System.Web.HttpUtility.UrlEncode(fileName));
switch (file.Extension)
{
case "gif":
Response.ContentType = "image/gif";
break;
case "zip":
Response.ContentType = "application/octet-stream";
break;
}
Response.TransmitFile(filePath);
上段代码是我摘抄的(很久没写代码了,见谅)。
Content-disposition 是 MIME 协议的扩展,MIME 协议指示 MIME 用户代理如何显示附加的文件。 Content-disposition其实可以控制用户请求所得的内容存为一个文件的时候提供一个默认的文件名,文件直接在浏览器上显示或者在访问时弹出文件下载对话框。
现在我想你已经知道怎么做了。
热心网友 时间:2024-12-14 07:26
直接用下载文件的方法就行了啊?有什么特殊要求?追问你好!我对这块不熟。能给我贴个实例代码吗?谢谢了追答//流方式下载
protected void Button4_Click(object sender, EventArgs e)
{
string fileName = "aaa.zip";//客户端保存的文件名
string filePath = Server.MapPath("DownLoad/aaa.zip");//路径
//以字符流的形式下载文件
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();
}
你懂的话最好自己试着做一下,这样才容易明白。