protected void Page_Load(object sender, EventArgs e)
{
string strurl = Request.Params.Get("fileName").ToString();
if (strurl != "")
{
string strFileName = Server.UrlDecode(strurl).Substring(Server.UrlDecode(strurl).LastIndexOf('/') + 1);
strFileName = cutBadStr(strFileName);
Response.Clear();
Response.ContentType = "application/x-zip-compressed";
Response.Charset = "gb2312";
Response.ContentEncoding = System.Text.Encoding.GetEncoding("gb2312");
string filename = Server.UrlDecode(strurl).Replace('/', '\\');
//Response.AddHeader("Content-Disposition", "attachment;filename=" + HttpUtility.UrlEncode(strFileName, System.Text.Encoding.UTF8));
Response.AddHeader("Content-Disposition", "attachment;filename=" + Server.UrlPathEncode(strFileName));
Response.TransmitFile(filename);
Response.Flush();
Response.End();
}
//else
//{
// Response.Write("<script>alert('指定的文件不存在或者已被移除!');</script>");
//} }
这是我下载文件的方法,用IE下载没问题,但是用迅雷下载的时候文件名会变成被编码后的文件名(%u5458%u5DE5%u57F9%u8BAD%u5B66%u4E60%u7535%u5B50%u6559%u67501-%u8BF7%u7ED9%u6211%u7ED3%u679C.doc),有哪位大虾知道是咋回事啊?
{
string strurl = Request.Params.Get("fileName").ToString();
if (strurl != "")
{
string strFileName = Server.UrlDecode(strurl).Substring(Server.UrlDecode(strurl).LastIndexOf('/') + 1);
strFileName = cutBadStr(strFileName);
Response.Clear();
Response.ContentType = "application/x-zip-compressed";
Response.Charset = "gb2312";
Response.ContentEncoding = System.Text.Encoding.GetEncoding("gb2312");
string filename = Server.UrlDecode(strurl).Replace('/', '\\');
//Response.AddHeader("Content-Disposition", "attachment;filename=" + HttpUtility.UrlEncode(strFileName, System.Text.Encoding.UTF8));
Response.AddHeader("Content-Disposition", "attachment;filename=" + Server.UrlPathEncode(strFileName));
Response.TransmitFile(filename);
Response.Flush();
Response.End();
}
//else
//{
// Response.Write("<script>alert('指定的文件不存在或者已被移除!');</script>");
//} }
这是我下载文件的方法,用IE下载没问题,但是用迅雷下载的时候文件名会变成被编码后的文件名(%u5458%u5DE5%u57F9%u8BAD%u5B66%u4E60%u7535%u5B50%u6559%u67501-%u8BF7%u7ED9%u6211%u7ED3%u679C.doc),有哪位大虾知道是咋回事啊?
解决方案 »
- List<string>,问题,求解啊!
- xml读取节点属性
- 新建了一个类库! 但引用不了web.config
- 2 00分,求聊天室中插入表情图片,显示表情图片,信息向上滚动,的代码,在线,谢谢了。
- c#中如何判断字符串是否为数字 不是字符而是字符串
- asp.net执行open数据库语句后失败 别人电脑执行ok 我电脑执行就错误 在线讨教
- 表单怎样传值
- 有求购网上考试系统的请与我联系!~QQ:408864365
- 正整数的正则表达式————在线等待
- 请教高手,请问为什么创建asp.net工程时失败?
- .net访问mysql很不稳定
- System.Runtime.InteropServices.COMException: 不能设置类 PageSetup 的 RightHeader 属性
to
Response.Charset = "UTF-8";
添加Download.aspx页
FileStream f= new FileStream("", FileMode.Open);
byte[] buffer = new byte[f.Length];
f.Read(buffer, 0, buffer.Length);
f.Close();
Response.ContentType = "application/octet-stream";
Response.AddHeader("Content-Disposition", "attachment; filename=" + HttpUtility.UrlEncode("", System.Text.Encoding.UTF8));
Response.BinaryWrite(buffer);
Response.Flush();
Response.End();参考