Java下载问题,怎样让IE下载该文件,而不是打开该文件?

程序中显示由wordEXCEL转化的HTML文件,当点击下载的时候,有的会弹出下载框,有的却被直接打开了,这需要改代码还是需要配置IE呢??求速解,还在加班中。。谢谢... 程序中显示由word EXCEL转化的HTML文件,当点击下载的时候,有的会弹出下载框,有的却被直接打开了,这需要改代码还是需要配置IE呢??求速解,还在加班中。。谢谢 展开
 我来答
庆凝桖
2015-04-29 · TA获得超过164个赞
知道小有建树答主
回答量:101
采纳率:0%
帮助的人:61.2万
展开全部
//·设置响应消息头,告诉浏览器当前响应是一个下载文件
response.setContentType( "application/x-msdownload");
//考虑到文件名中可能包含非ASCII码字符,所以应该进行编码后再传输
fileName = URLEncoder. encode(fileName, "UTF-8");
//告诉浏览器,当前响应数据要求用户干预保存到文件中,以及文件名是什么
response.setHeader( "Content-Disposition", "attachment;filename=" +fileName);
更多追问追答
追问
您好,能帮我解释一下吗??为什么有的能弹出下载框,有的就直接打开了呢??你写的这些是在哪配置的啊??

还有就是你说的编码问题,我在将word与EXCEL转化成HTML文件的时候有时是UTF-8编码,有的时候是GB2312编码。。。这个能控制吗??

会哪个就帮我解释哪个,谢谢啊
追答
能被浏览器解析的格式,浏览器就直接显示。所以要想实现下载,就需要设置响应消息的类型,告诉浏览器这是一个需要下载的文件,不需要显示。你为什么要将它转为HTML格式呢?
碧血玉叶花
2015-04-29 · TA获得超过4976个赞
知道大有可为答主
回答量:6154
采纳率:0%
帮助的人:1728万
展开全部
procedure htmlHeadDown(const fName: widestring = ''; const ftype:String='unknow');
var mtype:String;
begin
    bHead := true;
    if ftype='' then mtype:=getMineType(fname) Else mtype:=ftype;

    if TntSysUtils.WideTextPos('MSIE', EnvW('HTTP_USER_AGENT') )>0 Then Begin
        writeLn('content-disposition:attachment; filename=' + UrlEncode(fname, false));
        writeLn('content-type:Application/'+mtype+'; charset:utf-8');
        writeLn('');
    End Else Begin
        writeLn('content-disposition:attachment; filename*="utf8''''' + Utf8Encode(fname)+'"');
        writeLn('content-type:Application/'+mtype+'; charset:utf-8');
        writeLn('');
    end;
end;

请参考,应该能看得懂意思的。
追问
额额,高看我了。。入行时间短,解释下吧。。谢谢。。稍微讲解一下,万分感谢
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式