1、struts2实现预览
action中代码:
private String downloadFileName; public InputStream getDownloadFile() throws Exception { Map<String,String[]> param = super.getParameter(); String imageFileId = ((String[])param.get("fileId"))[0]; Integer fileId = new Integer( imageFileId ); //根据fileId去库中查询文件名称 String filename = activityService.getImageFileName(fileId).getImageFile(); downloadFileName = filename; this.setDownloadFileName(downloadFileName); String fullPath = MisConst.IMAGE_FILE_PATH + "activity"+"/" + downloadFileName; File file = new File( fullPath ); FileInputStream fis = null; try { fis = new FileInputStream(file); } catch (FileNotFoundException e) { e.printStackTrace(); } return fis; } /** * 下载附件 * @return */ public String download() { return SUCCESS; }
xml中配置:
<action name="download" class="activityAction" method="download"> <result name="success" type="stream"> <param name="contentType">application/octet-stream </param> <param name="contentDisposition">filename=${downloadFileName}</param> <param name="inputName">downloadFile</param>//downloadFile要和action中getDownloadFile() 方法名一致 </result> </action>
2、真正的下载
action:
/** * 下载 * @return * @throws Exception */ public String download() throws Exception{ FileInputStream in=null; OutputStream out=null; try{ String filename = ServletActionContext.getRequest().getParameter("filename"); filename = URLDecoder.decode(filename.trim(), "utf-8"); String filepath = ServletActionContext.getServletContext().getRealPath("\\upload\\takingFile")+"\\"+filename; File file = new File(filepath); byte[] buff = new byte[1024]; in = new FileInputStream(file); HttpServletResponse response=ServletActionContext.getResponse(); response.reset(); out = response.getOutputStream(); response.setContentType("application/x-download"); response.addHeader("Content-Disposition", "attachment;filename=\"" + URLEncoder.encode(file.getName(), "utf-8")+"\""); response.setHeader("Connection", "close"); while (true) { int len = in.read(buff); if (len != -1) { out.write(buff, 0, len); out.flush(); } else { break; } } }catch (Exception e) { e.printStackTrace(); }finally{ if(in!=null){ in.close(); } if(out!=null){ out.close(); } } return null; }
jsp:
function downLoad(filename){ var filename = filename; var data="?filename="+encodeURI(encodeURI(filename));//注意两次转码,否则中文会乱码 var url ="download.action"; window.open(encodeURI(url)+data); }
相关推荐
在Java开发中,实现Word文档的在线预览是一项常见的需求,尤其在企业级应用中,例如文档管理系统或者协同办公平台。这项功能可以让用户无需下载原始文件就能查看文档内容,提高工作效率并减少服务器存储压力。本资源...
JAVA文件文档在线预览项目解决方案,对标业内付费产品有【永中office】【office365】【idocv】等,该项目使用流行的spring boot搭建,易上手和部署,支持主流办公文档的在线预览,如doc,docx,Excel,pdf,txt,zip,rar,...
在Java中预览Excel、Word和DOCX文件,主要涉及以下几个关键知识点: 1. **JODConverter**:这是一个基于LibreOffice的Java库,用于转换Office文档。它提供了一个简单的接口,使得Java应用程序能够将不同格式的文档...
本文将详细讲解如何利用Java后端技术实现文件在线预览,特别是针对文档(如.doc、.docx、.xls、.xlsx、.ppt、.pptx)和图片格式的预览。 首先,我们需要理解文件预览的基本原理:用户通过浏览器发送请求到服务器,...
在Java编程环境中,...总的来说,Java与MongoDB的集成提供了丰富的功能,可以方便地实现文件的上传、下载、预览和打包下载。通过理解MongoDB的API和Java的IO流处理,开发者可以构建出高效且用户友好的文件管理系统。
在Java开发中,有时我们需要为用户提供文件预览功能,以便他们在不下载文件的情况下查看其内容。这个"java实现文件预览工具包"正是为了解决这个问题而设计的。它包含了两个核心部分:OpenOffice和PDF.js,分别针对...
总结,实现Java文件预览功能需要根据文件类型选择合适的处理方法。对于文本文件,可以使用Java内置的I/O类;图片文件则需要图像处理支持;PDF文件可能需要借助第三方库。结合Swing或JavaFX等UI框架,可以构建出直观...
在他人基础上实现java实现仿百度文库预览文档功能, Txt/Word/Excel/PPT => PDF(OpenOffice+JodConverter) => SWF(pdf2swf)=>FlexPaper浏览。 包含了源代码,文档,部分较小文件的安装文件,部分较大文件的下载...
综上所述,Java实现Web在线预览Office文档和PDF文档主要涉及文件读取、内容转换、文档预览和服务器端的文件操作。通过合理选择和使用相应的库和工具,可以构建出稳定且高效的在线预览系统。在Linux环境下,结合开源...
java实现浏览器在线预览offic(doc、xls、ppt)和pdf文件,本人将例子集成到项目中,已成功。 技术原理:将文件先转换成pdf文件,再将pdf文件转换成swf文件,最后显示在浏览器上。 资源描述:本资源包括swftools...
在Java开发中,处理PDF文件是一项常见的任务,包括上传、下载、在线预览、删除以及修改等操作。这里我们将深入探讨这些功能的实现,并结合标签`java xpdf java实现pdf`来讨论XPDF库在Java中的应用。 1. **PDF上传**...
java 实现的文档在线预览: 需要下载的工具有:OpenOffice+flexpaper+swftools+jodcconverter * .启动OpenOffice的服务 * 1 win+R开启dos窗口 * 2 执行:cd C:\Program Files (x86)\OpenOffice 4\program * 3 ...
在IT行业中,尤其是在文档处理领域,Java是一种广泛使用的编程语言,可以实现各种复杂的功能,如动态生成模板Word文件,将其转换为PDF,并进行预览打印。以下是对标题、描述和标签所涉及知识点的详细说明: 1. **...
Excel 文档预览与 Word 文档预览类似,首先建立链接,获取网络输入流,然后使用 `HSSFWorkbook` 读取 Excel 文档中的内容。最后使用 `response.getWriter().write()` 将内容输出到浏览器上。 Java 代码如下: ```...
为了实现文档预览,我们需要创建一个Controller,该Controller接收前端请求,读取服务器上的PDF、Word或Excel文件,然后将文件内容转换为适合在浏览器中展示的格式。 对于PDF文件,在Java Web环境中,可以使用...
word、excel、txt文件,浏览器预览功能实现工具类,OpenOfficeUtil,openoffice插件!
描述:本文档详细介绍了使用pdf.js在Java web项目中远程预览FTP服务器上的PDF文件的方法。通过配置pdf.js插件和自定义servlet,可以实现在线预览远程FTP服务器上的PDF文件。 标签:pdf、ftp 知识点: ### 1. 远程...
使用spring boot打造文件文档在线预览项目解决方案,支持doc、docx、ppt、pptx、xls、xlsx、zip、rar、mp4,mp3以及众多类文本如txt、html、xml、java、properties、sql、js、md、json、conf、ini、vue、php、py、...
【标题】"wpsoffice在线预览,在线编辑 Java版"所涉及的知识点主要集中在如何在Java环境中实现对WPS Office文档的在线预览和编辑功能。WPS Office是一款流行的办公软件套装,包含了文字处理、电子表格和演示文稿等...
在IT领域,尤其是在Web开发中,提供在线文档预览功能是一项常见的需求,它允许用户无需下载文件即可查看文档内容。本项目"java实现在线文档预览(项目+相关软件)"正是针对这一需求的解决方案,它结合了Java后端技术...