`

文本内容输出至浏览器

阅读更多

有时有很多需求如将文件打印在浏览器即在浏览器直接显示文件的内容

于是就有了下面的code:

 

/**
 * 给定的文件在浏览器中展示
 * @param response 响应
 * @param doc doc对象
 * @param fileUrl 文件的绝对路径
 * @param fileName 文件名称,意义不大
 */
public void writeToBrower(HttpServletResponse response , Document doc , String fileUrl , String fileName) {
	try {
		//获取响应流
		ServletOutputStream docsos = response.getOutputStream();
		//返回流的格式如编码等
		HtmlSaveOptions saveOptions = new HtmlSaveOptions(SaveFormat.HTML);
		saveOptions.setEncoding(Charset.forName("UTF-8"));
		saveOptions.setExportImagesAsBase64(true);
		//数据来源方式
		if(doc == null) {//doc为空,从文件读取数据并以流的方式在浏览器中展示
			File file = new File(fileUrl);
			BufferedInputStream bis = new BufferedInputStream(new FileInputStream(file));
			int blen = 0;
			byte[] buffer = null;
			while((blen = bis.read(buffer)) > 0) {
				docsos.write(buffer, 0, blen);
			}
			docsos.flush();
		}else {//doc不为空 ,利用doc以流的方式向浏览器写入数据进行展示
			doc.save(docsos, saveOptions);
		}
		response.setContentType("application/OCTET-STREAM;charset=UTF-8");
		fileName = java.net.URLEncoder.encode(fileName, "UTF-8");
		// 设置下载文件名称
		response.setHeader("Content-Disposition", "attachment; filename="
				+ fileName);
	} catch (Exception e) {
		e.printStackTrace();
	}
}

备注: 

该方法中文件的来源有两种,一种是匹配word模板后生成的doc对象,一种是纯文本文件的绝对路径。

 

 

分享到:
评论

相关推荐

    c# 生成PDF 输出到浏览器

    在C#中生成PDF并将其输出到浏览器是一个常见的任务,主要应用于报表生成、文档导出或者在线预览等场景。这个过程涉及到多个技术层面,包括PDF库的选择、PDF的生成逻辑以及与Web服务器的交互。以下是一些关键知识点:...

    JasperReport浏览器输出PDF为空白页的解决方案

    标题中的“JasperReport浏览器输出PDF为空白页”通常意味着在使用JasperReport生成PDF报表时,浏览器未能正确显示内容。这可能是由多种原因引起的,包括但不限于以下几点: 1. **XML解析错误**:`test.jrxml`文件是...

    bcat-Pipe命令输出到web浏览器

    `bcat`就是这样一个工具,它可以集成到开发工作流程中,作为处理文本输出的一个有效辅助工具。 在压缩包文件名称"node-bcat-master"中,我们可以推测这是`bcat`项目的源代码仓库,可能包含了项目的主要文件和目录...

    快速比对txt内容并输出可视化html界面结果

    4. **HTML生成**:比对的结果通常以文本形式输出,但为了提高可读性和用户体验,本项目将其转换为HTML格式。HTML是一种标记语言,用于创建网页。通过在Python中构建HTML字符串,可以创建具有颜色高亮和清晰结构的...

    不同的快捷键输出一串文本信息

    可以通过设置Alt或Ctrl键+数字键组合输出对应的文本信息到文本文档。 方法是把设置的文本复制到剪切板,然后再粘贴到文本文档。 测试只有文本文档可以实现此功能,浏览器和word测试都不行。浏览器和word等都只能达到...

    图片转base64保存到数据库 , 并回显到浏览器

    要将图片转换为Base64,我们需要读取图片的二进制内容,然后用Base64算法进行编码。在Python中,可以使用`base64`库来实现这一过程。例如: ```python import base64 with open('image.jpg', 'rb') as image_...

    Servlet示例输出静态文本和接受文本

    要输出静态文本,Servlet可以通过`HttpServletResponse`对象的`getWriter()`方法获取到一个`PrintWriter`对象,然后使用这个`PrintWriter`来打印要输出的内容。例如: ```java import javax.servlet.*; import java...

    富文本编辑器生成的含有图片的内容转换成word文档 java 后端下载

    7. **生成下载响应**:完成内容插入后,将Word文档输出为字节流,设置HTTP响应头,触发浏览器下载。 在提供的`ExportWord.java`文件中,我们可以预期它包含了上述部分的实现代码。具体来说,它可能有以下几个方法:...

    PHP向浏览器输出内容的4个函数总结

    最后,sprintf() 函数与printf() 函数在功能上几乎相同,区别在于sprintf() 不直接输出内容到浏览器,而是将格式化后的字符串保存在一个新的字符串变量中。sprintf() 的基本用法为:$result = sprintf("格式字符串",...

    WEB浏览器工作原理

    WEB 浏览器工作原理是基于客户机/服务器计算模型,由 Web 浏览器(客户机)和 Web 服务器(服务器)构成,两者之间采用超文本传送协议(HTTP)进行通信。HTTP 协议是基于 TCP/IP 协议之上的协议,是 Web 浏览器和 ...

    html页面中js一行一行读取txt文件并排序显示_仅IE浏览器执行.zip

    在这个特定的场景中,我们需要在IE浏览器中读取TXT文本文件,然后逐行显示并进行排序。这涉及到JavaScript的File System Object (FSO) 和ActiveXObject,这些都是IE浏览器特有的功能。 首先,让我们了解一下...

    浏览器兼容性常见问题

    字符编码是Web开发中另一个重要的方面,它决定了浏览器如何解析和渲染网页中的文本内容。不同的浏览器对于字符编码的处理方式可能存在差异。 **2.1 问题描述** 各浏览器对于字符编码的支持程度有所不同。当指定了...

    js实现逐行读取本地文本并加上双引号输出显示

    在给定的标题"js实现逐行读取本地文本并加上双引号输出显示"中,我们关注的核心知识点是如何使用JavaScript来操作文本文件,特别是逐行读取内容并在输出时为每一行添加双引号。以下将详细介绍这一过程。 首先,...

    解决不同浏览器下载时中文名乱码问题

    5. **发送文件数据**:读取文件内容并通过响应输出流发送给客户端。 #### 四、示例代码详解 下面是一段Java示例代码,用于解决上述问题: ```java public String getFile() throws UnsupportedEncodingException ...

    SWT/JFACE实现的带浏览器的记事本

    - 打印:记事本应具备打印功能,将文本内容输出到打印机。 4. 内置浏览器功能: 这个记事本还集成了浏览网页的能力,可能是通过 SWT 的 Browser 控件实现。Browser 控件允许在 Java 应用程序内部嵌入一个完整的 Web...

    汇编语言实现文本编辑器

    2. **I/O操作**:文本编辑器的核心是输入和输出处理。在汇编语言中,我们需要使用系统调用来进行键盘输入和屏幕输出。例如,`int 0x21`是DOS环境下常用的中断调用,可以用于读取键盘输入和显示文本。 3. **文件操作...

    金鹰asp超速入门视频教程-049.向浏览器输出数据2.rar

    总的来说,学习并熟练掌握ASP的向浏览器输出数据这一技能,对于初涉网站开发的开发者来说至关重要,它能帮助构建动态、交互的网页,提升网站的吸引力和功能性。通过深入学习和实践,开发者可以逐步精通ASP,为网站...

    java_socket服务器给浏览器发信息.doc

    例如,要发送HTML文本,可以使用PrintWriter,因为它方便地处理文本输出。而对于二进制数据,如图片,需要使用OutputStream的write(byte[])方法直接写入字节流。在处理HTTP响应时,可以先将响应信息(如状态码、响应...

Global site tag (gtag.js) - Google Analytics