使用response下载没反应

本文介绍了一种使用Java处理文件下载的方法,包括设置文件ContentType类型、处理文件名编码防止乱码、通过文件流完成下载等步骤,并提供了非AJAX方式实现文件下载的示例。
        response.reset();
        File excelFile = new File(filePath);
        // 1.设置文件ContentType类型,这样设置,会自动判断下载文件类型
        response.setContentType("application/octet-stream");
        // 2.设置文件头:处理文件名编码,防止不同浏览器中文的文件名出现乱码
        String headerValue = "attachment;";
        String fileName = "体验馆报名名单.xlsx";
        headerValue += " filename=\"" + fileOperationService.encodeURIComponent(fileName) + "\";";
        headerValue += " filename*=utf-8''" + fileOperationService.encodeURIComponent(fileName);
        response.setHeader("Content-Disposition", headerValue);
        response.addHeader("Content-Length", String.valueOf(excelFile.length()));
        
        // 通过文件流下载
        try {
            InputStream ins = new BufferedInputStream(new FileInputStream(excelFile));
            byte[] buffer = new byte[ins.available()];
            ins.read(buffer);
            ins.close();
            OutputStream ous = new BufferedOutputStream(response.getOutputStream());
            ous.write(buffer);
            ous.flush();
            ous.close();
        } catch (IOException e) {
            e.printStackTrace();

        }



ajax请求只是个“字符型”的请求,即请求的内容是以文本类型存放的。文件的下载是以二进制形式进行的,虽然可以读取到返回的response,但只是读取而已,是无法执行的。 

解决方案,不用ajax:

window.location.href=_contextPath + "/signUp/exportSignUpList.do";


一个非常好的汉化DELPHI程序的工具,它类似EXESCOPE,但在方便性和功能上都远强于EXESCOPE!它也是一个全能型的汉化工具,可以汉化各种语言编的程序,采用方便的拖放式操作来完成资源的导入导出,的确与众不同!另外,它还内置了一个汉化补丁生成器。   Restorator是一个与应用程序的Windows资源及应用程序构成打交道的工具(PE文件及RES文件)。Restorator可以更新、增加和删除像文本、图像、图标、声音、视频、版本号、对话框及菜单等的任何应用程序中的资源。Restorator可以用来作翻译、本地化、定制化、设计改进及开发。该软件有一个直观的用户界面,拥有完整的文档及示例和提示,并且可以通过讨论论坛及电子邮件进行技术支持。   很多黑客做了木马之后,通过Restorator修改木马文件的图标以及其他的一些信息来逃过杀毒软件的查杀。   Restorator 2009 Bulid 1807 汉化版   它是一个简单易用的中文化工具程式。完全采用档案总管介面的操作方式 restorator 2007 ,支援拖曳档案至编辑视窗操作,可简易的将资源档案拖曳到介面内资料夹,内置编辑功能视窗,修改後可用拖曳方式取代原来资源後直接回存档案。支援编辑的资源类型包括有:功能表、对话框、字串、游标、图示、点阵图等。而且也可以先将资源汇出成RC、RES资源档。 安装后每次运行目录下crk_Restorator.exe启动程序!
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值