首页 新闻 会员 周边

response.writefile下载文件时一个很奇怪的问题 在CSDN都没人回答

0
悬赏园豆:50 [已关闭问题]

FileInfo  DownloadFile  =  new  FileInfo(FullFileName);
                Response.Clear();
                Response.ClearHeaders();
                Response.Buffer  =  false;
                Response.ContentType  =  "application/octet-stream ";
                Response.AppendHeader( "Content-Disposition ",  "attachment;filename= "  +  HttpUtility.UrlEncode(DownloadFile.FullName,  System.Text.Encoding.UTF8));
                Response.AppendHeader( "Content-Length ",  DownloadFile.Length.ToString());
                Response.WriteFile(DownloadFile.Name);
                Response.Flush();
                Response.End();
当我的文件名类似这样的深05025多层80.32.doc(80.32是建筑的面积,是客户要求的,必须这样)的时候,下载文件的时候保存的文件名是深05025多层80[1].32.doc
老是会多一个中括号。。我试验了下,只要有那个"."号,就会这样,没有".",就不会出现那个中括号了.

是什么问题,哪位大哥帮帮我啊

friendlinzh的主页 friendlinzh | 初学一级 | 园豆:40
提问于:2008-09-11 15:23
< >
分享
其他回答(1)
0

我没试,如果真的不行,可以试试 80_32.doc,也许客户会接受!

飞阿飞 | 园豆:444 (菜鸟二级) | 2008-09-11 15:43
0

doc文件应该是application/msword,你怎么是application/octet-stream

HttpUtility.UrlEncode(DownloadFile.FullName)就可以了,不加utf8试试

zjy | 园豆:3194 (老鸟四级) | 2008-09-11 16:24
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册