代码描述:js其他后台语言 附件功能。js其他后台语言附件功能代码下载
下载功能这个不用多说吧,就算是以前没有开发过,用过应该是肯定的,如果下载附件这样的功能都没有使用过几乎是难以想象的,下面介绍一下利用java结合javascript实现的附件下载功能,希望能够给需要的朋友带来一定的帮助,实现过程如下: 一.java后台代码:
<script> @RequestMapping(value = "download.html", method = RequestMethod.GET) public void download(String resourceid, HttpServletRequest request, HttpServletResponse response) { response.setContentType("charset=UTF-8"); File file = new File(path); response.setHeader("Content-Disposition", "attachment; filename=a"); BufferedInputStream bis = null; BufferedOutputStream bos = null; OutputStream fos = null; InputStream fis = null; try { fis = new FileInputStream(file.getAbsolutePath()); bis = new BufferedInputStream(fis); fos = response.getOutputStream(); bos = new BufferedOutputStream(fos); int bytesRead = 0; byte[] buffer = new byte[5 * 1024]; while ((bytesRead = bis.read(buffer)) != -1) { bos.write(buffer, 0, bytesRead); } bos.flush(); } catch(E e){ } finally { try { bis.close(); bos.close(); fos.close(); fis.close(); } catch (IOExcepti[url=]2[/url]on e) { e.printStackTrace(); } } } </script>
上面是java代码部分,当然这里不是重点,这是后台程序人员的事情,当然如果前后台都会那就更好了。 这个时候如果我们再前端要进行附近下载请求这个文件,服务器先找出文件,设置响应头,然后通过流输出到浏览器端。 浏览器在头中发现该响应的主体是流文件,则自动会调用另存为的窗口,让用户保存下载,实现原理如下: 设置Content-Disposition属性值,它是MIME协议的扩展,用于指示如何让客户端显示附件的文件,属性值可以有两个:
<script> inline //在线打开 attachment //作为附件下载 </script>
在我们的需求中,需要将属性值设置为attachment。 上面分析的是关于java后台的相关设置,下面介绍一下js前端的设置。 二.前台相关代码:下面是前端请求的几种常用方式: 1.form表单方式:
<script> <form action='download.html' method='post'> <input type='submit'/> </form> </script>
2.iframe方式:
<script> var iframe = "<iframe style='display:none' src='download.html'></iframe>" body.append(iframe); </script>
3.window.open()方式:
请绑定手机号,在继续操作
注意:只有绑定手机以后,才可使用网站全部功能