可以跨域下载
/** * 音频下载 */ @RequestMapping("/audio/download") public void downloadFile(HttpServletRequest request, HttpServletResponse response) throws IOException { //String id = request.getParameter("id"); String filePath = ServletRequestUtils.getStringParameter(request, "filePath", ""); // String fileName = ServletRequestUtils.getStringParameter(request, "fileName", ""); // String destUrl = filePath; //System.out.println("--------------"+filePath); String fileFormat=filePath.substring(filePath.lastIndexOf(".")); String name=fileName.trim()+fileFormat; //File f = new File(filePath); //response.setHeader("Content-Disposition", "attachment; filename="+java.net.URLEncoder.encode(f.getName(),"UTF-8")); //System.out.println("--------------"+f.getName()); // 建立链接 URL url = new URL(destUrl); HttpURLConnection httpUrl = (HttpURLConnection) url.openConnection(); // 连接指定的资源 httpUrl.connect(); // 获取网络输入流 BufferedInputStream bis = new BufferedInputStream(httpUrl.getInputStream()); response.setContentType("application/x-msdownload"); response.setHeader("Content-Disposition", "attachment; filename="+java.net.URLEncoder.encode(name,"UTF-8")); OutputStream out = response.getOutputStream(); byte[] buf = new byte[1024]; if (destUrl != null) { BufferedInputStream br = bis; int len = 0; while ((len = br.read(buf)) > 0){ out.write(buf, 0, len); } br.close(); } out.flush(); out.close(); }
页面主要代码:
<div class="txt-2" style="padding-left:6px;float:none;"> <a href="/wxj/audio/download?filePath=${(contentJson.audiolink)!''}&fileName=${(course.title)!''}" class="btn btn-info">下 载</a> </div>
时间: 2024-11-25 11:25:05