ExtJS 下载文件
2016-01-25 11:51
429 查看
ExtJs前台:
window.open('/fileUpload/downloadAddNum?id=' + id+"&fileName="+fileName+"&downloadName="+downloadName);
//注:
fileName:是文件的原名称,如 dog.jpg
downloadName:是文件下载显示名称,如 狗.jpg。
后台处理:
调用 downloadFile 方法:
注:filePath为物理路径。如:C:\images\dog.jpg
window.open('/fileUpload/downloadAddNum?id=' + id+"&fileName="+fileName+"&downloadName="+downloadName);
//注:
fileName:是文件的原名称,如 dog.jpg
downloadName:是文件下载显示名称,如 狗.jpg。
后台处理:
调用 downloadFile 方法:
注:filePath为物理路径。如:C:\images\dog.jpg
public static void downloadFile(String filePath,String downloadName,HttpServletResponse response){ BufferedInputStream bis = null; BufferedOutputStream bos =null; OutputStream os = null; InputStream is = null; try { File downloadFile = new File(filePath);//物理路径 is = new FileInputStream(downloadFile); bis = new BufferedInputStream(is); os = response.getOutputStream(); bos = new BufferedOutputStream(os); downloadName = java.net.URLEncoder.encode(downloadName,"UTF-8"); //fileName = new String(fileName.getBytes("UTF-8"),"GBK");//处理中文文件名问题 response.reset(); response.setCharacterEncoding("utf-8"); response.setContentType("application/octet-stream"); response.setHeader("Content-disposition","attachment;filename="+downloadName); byte[] buffer =new byte[8192]; int len=0; while( (len = bis.read(buffer)) > 0){ bos.write(buffer,0,len); } bos.flush(); is.close(); bis.close(); os.close(); bos.close(); System.gc(); } catch (Exception e) { e.printStackTrace(); } }
相关文章推荐
- 理解JavaScript事件对象
- JS良好的编程习惯
- Masonry实现JS瀑布流
- 学习JavaScript事件流和事件处理程序
- javascript产生随机数方法汇总
- gson的使用细节
- js的创建多维数组的方法
- Javascript 正确用法 二
- perl json encode_json decode_json
- 理解JavaScript表单的基础知识
- [JavaScript] 1.JS 简介
- JavaScript数组的一些奇葩行为
- Shuffle an Array
- 详解js私有作用域中创建特权方法
- 请教高手:javascript中var i = {};是什么意思
- 【JavaScript】闭包应用之数据独立
- jackson 实体转json 为NULL或者为空不参加序列化
- 理解js对象继承的N种模式
- 【ExtJS4学习笔记03】Ajax远程访问数据源示例
- Arc gis api for js比例尺,书签