function downloadFile(filePath){ var fileName=encodeURI(filePath); document.getElementById("hidden_frame").src = "JS/StreetMap/downloadFile.jsp?fileName="+fileName; }
public void downloadFile() { HttpServletResponse response = ServletActionContext.getResponse(); HttpServletRequest request = getRequest(); response.setCharacterEncoding("GBK"); String fileUrl=request.getParameter("fileUrl"); String fileName=request.getParameter("fileName"); String cmsAttachRealFile = ""; try { fileUrl = new String(fileUrl.getBytes("ISO8859-1"),"GBK"); cmsAttachRealFile = FilePathSptUtil.UPLOAD_ROOT_PATH //+ FilePathSptUtil.UPLOAD_CMS + fileUrl; fileName = new String(fileName.getBytes("ISO8859-1"),"UTF-8"); fileName = URLEncoder.encode(fileName, "UTF-8"); } catch (Exception e1) { // TODO 附件流下载 弹出下载框 e1.printStackTrace(); } try { OutputStream o = response.getOutputStream(); byte b[] = new byte[500]; File fileLoad = new File(cmsAttachRealFile); response.setContentType("application/octet-stream"); response.setHeader("content-disposition", "attachment; filename=\"" + fileName + "\""); long fileLength = fileLoad.length(); String length1 = String.valueOf(fileLength); response.setHeader("Content_Length", length1); FileInputStream in = new FileInputStream(fileLoad); int n; while ((n = in.read(b)) != -1) { o.write(b, 0, n); } in.close(); o.close(); } catch (Exception e) { // TODO: handle exception } }