`

(测试可用)JSP 页面通过 ajax 导出附件(下载文件)实际

 
阅读更多

在前端不能真的以 ajax 去请求,而是应该用隐藏的 form 去实现

1. 前端 

function downloadFile() {

      var form = $("<form>");
      form.attr("style","display:none");
      form.attr("target","");
      form.attr("method","POST");
      form.attr("method","tts/download");

      var input1 = $("input");
      input1.attr("type","hidden");
      input1.attr("name","n1");
      input1.attr("value","v1");

      var input2 = $("input");
      input2.attr("type","hidden");
      input2.attr("name","n2");
      input2.attr("value","v2");
 
      $("body").append("input");
      form.append(input1);
      form.append(input2);

      form.submit();
      form.remove();


}

 

2. 服务端 java

 

public void download() {
    
        FileInputStream fis = null;
        ServletOutputStream sos = null;
		
        System.out.println("get here ----download...");
	try {
		HttpServletResponse res = getResponse();
		res.setHeader("Content-Disposition", "attachment;filename=test_download.wav");
		res.setContentType("application/octet-stream");
		res.setContentType("application/OCTET-STREAM;charset=UTF-8");
			
		byte b[] = new byte[1024*1024];
			
		int read = 0;
		String fn = PathKit.getWebRootPath() + "/voices/test.wav";
		fis = new FileInputStream(new File(fn));
			
		sos = res.getOutputStream();
			
		while((read=fis.read(b))!=1) {
				
		sos.write(b, 0, read);
				
		}
	}catch(Exception e) {
		e.printStackTrace();
	}finally {
			
		try{
			if(sos!=null) {
				sos.close();
			}
			if(fis!=null) {
				fis.close();
			}
		}catch(IOException e) {
			throw new RuntimeException("没有文件");
		}
			
			
	}
}

 

分享到:
评论
1 楼 hbxfyxw 2016-05-28  
黄书记暗自用功,学习了。

相关推荐

    java开源包5

    利用Google:maps JSP标签库就能够在你的Web站点上实现GoogleMaps的所有功能而且不需要javascript或AJAX编程。它还能够与JSTL相结合生成数据库驱动的动态Maps。 OAuth 实现框架 Agorava Agorava 是一个实现了 OAuth ...

    JAVA上百实例源码以及开源项目源代码

    数字证书:从文件中读取数字证书,生成文件输入流,输入文件为c:/mycert.cer,获取一个处理X.509证书的证书工厂…… Java+ajax写的登录实例 1个目标文件 内容索引:Java源码,初学实例,ajax,登录 一个Java+ajax写的...

    java开源包10

    利用Google:maps JSP标签库就能够在你的Web站点上实现GoogleMaps的所有功能而且不需要javascript或AJAX编程。它还能够与JSTL相结合生成数据库驱动的动态Maps。 OAuth 实现框架 Agorava Agorava 是一个实现了 OAuth ...

    Java资源包01

    利用Google:maps JSP标签库就能够在你的Web站点上实现GoogleMaps的所有功能而且不需要javascript或AJAX编程。它还能够与JSTL相结合生成数据库驱动的动态Maps。 OAuth 实现框架 Agorava Agorava 是一个实现了 OAuth ...

    java开源包1

    利用Google:maps JSP标签库就能够在你的Web站点上实现GoogleMaps的所有功能而且不需要javascript或AJAX编程。它还能够与JSTL相结合生成数据库驱动的动态Maps。 OAuth 实现框架 Agorava Agorava 是一个实现了 OAuth ...

    java开源包11

    利用Google:maps JSP标签库就能够在你的Web站点上实现GoogleMaps的所有功能而且不需要javascript或AJAX编程。它还能够与JSTL相结合生成数据库驱动的动态Maps。 OAuth 实现框架 Agorava Agorava 是一个实现了 OAuth ...

    java开源包2

    利用Google:maps JSP标签库就能够在你的Web站点上实现GoogleMaps的所有功能而且不需要javascript或AJAX编程。它还能够与JSTL相结合生成数据库驱动的动态Maps。 OAuth 实现框架 Agorava Agorava 是一个实现了 OAuth ...

    java开源包3

    利用Google:maps JSP标签库就能够在你的Web站点上实现GoogleMaps的所有功能而且不需要javascript或AJAX编程。它还能够与JSTL相结合生成数据库驱动的动态Maps。 OAuth 实现框架 Agorava Agorava 是一个实现了 OAuth ...

    java开源包6

    利用Google:maps JSP标签库就能够在你的Web站点上实现GoogleMaps的所有功能而且不需要javascript或AJAX编程。它还能够与JSTL相结合生成数据库驱动的动态Maps。 OAuth 实现框架 Agorava Agorava 是一个实现了 OAuth ...

    java开源包4

    利用Google:maps JSP标签库就能够在你的Web站点上实现GoogleMaps的所有功能而且不需要javascript或AJAX编程。它还能够与JSTL相结合生成数据库驱动的动态Maps。 OAuth 实现框架 Agorava Agorava 是一个实现了 OAuth ...

    java开源包8

    利用Google:maps JSP标签库就能够在你的Web站点上实现GoogleMaps的所有功能而且不需要javascript或AJAX编程。它还能够与JSTL相结合生成数据库驱动的动态Maps。 OAuth 实现框架 Agorava Agorava 是一个实现了 OAuth ...

    java开源包7

    利用Google:maps JSP标签库就能够在你的Web站点上实现GoogleMaps的所有功能而且不需要javascript或AJAX编程。它还能够与JSTL相结合生成数据库驱动的动态Maps。 OAuth 实现框架 Agorava Agorava 是一个实现了 OAuth ...

    java开源包9

    利用Google:maps JSP标签库就能够在你的Web站点上实现GoogleMaps的所有功能而且不需要javascript或AJAX编程。它还能够与JSTL相结合生成数据库驱动的动态Maps。 OAuth 实现框架 Agorava Agorava 是一个实现了 OAuth ...

    java开源包101

    利用Google:maps JSP标签库就能够在你的Web站点上实现GoogleMaps的所有功能而且不需要javascript或AJAX编程。它还能够与JSTL相结合生成数据库驱动的动态Maps。 OAuth 实现框架 Agorava Agorava 是一个实现了 OAuth ...

Global site tag (gtag.js) - Google Analytics