1、base64编码显示;但是尽量避免使用该方式,因为可能存在丢失内容情况;
2、使用servlet获取图片,以流的形式显示。serlvet路径最好带个随机数,防止页面缓存问题。
方法1:
byte[] data = getImageStr(bean.getImgPath()); // 对字节数组Base64编码 BASE64Encoder encoder = new BASE64Encoder(); String imgStr = ""; if(data!=null){ try { imgStr ="data:image/jpg;base64," + encoder.encode(data) + ""; } catch (IOException e) { e.printStackTrace(); } }
/** * 图片转化成base64字符串 * 将图片文件转化为字节数组字符串,并对其进行Base64编码处理 * @param path * @return */ public static byte[] getImageStr(String path) { if (!new File(path).exists()) { return null; } InputStream in = null; byte[] data = null; // 读取图片字节数组 try { in = new FileInputStream(path); data = new byte[in.available()]; in.read(data); in.close(); // 对字节数组Base64编码 // BASE64Encoder encoder = new BASE64Encoder(); // return encoder.encode(data); // 返回Base64编码过的字节数组字符串 return data; // 返回Base64编码过的字节数组字符串 } catch (IOException e) { e.printStackTrace(); } return null; }
<img src='"+imgStr+"' style='width:112px;height:125px;'/>
方法2:
java.util.Random random=new java.util.Random();// 定义随机类 int ran = random.nextInt(10);// 返回[0,10)集合中的整数,注意不包括10 "<img src='/XX(项目名)/zpservlet?n="+ran+"&path="+bean.getImgPath()+"' style='width:112px;height:125px;'/>"
/** * 文件路径 * @param request * @param response * @throws ServletException * @throws IOException */ public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { response.setContentType(CONTENT_TYPE); request.setCharacterEncoding("UTF-8"); String path = request.getParameter("path"); System.out.println("path:"+path); InputStream in = null; OutputStream out = null; if(path != null && !"".equals(path)){ File outputFile = new File(path); if (outputFile.exists() && outputFile.length() > 0) { in = new FileInputStream(outputFile); out = response.getOutputStream(); IOUtils.copy(in, out); // byte[] buffer = new byte[1024]; // int read = -1; // while ((read = in.read(buffer)) != -1) { // out.write(buffer, 0, read); // } out.close(); // if(in!=null)in.close(); } else { System.out.println("找不到文件:" + outputFile.getName()); } } }
相关推荐
在Java开发中,图片上传并实时显示是一项常见的需求,特别是在Web应用中。本文将深入探讨如何利用Java技术实现在图片上传后立即在页面上显示。首先,我们需要理解这个过程涉及的关键技术点,包括文件上传、文件处理...
使用java显示一张图片的源代码,供大家学习
本教程将专注于如何使用Java中的标签组件(JLabel)来显示图片,并将其设置为窗口的背景。我们将通过分析提供的代码和资源文件来理解这个过程。 首先,`pic.java` 文件很可能是实现这一功能的主要Java源代码。在...
6. **显示图片**:在前端页面上,使用`<img>`标签显示图片。图片的`src`属性应指向保存在数据库中的路径。 7. **错误处理**:添加适当的异常处理,例如当文件大小超过限制或者文件类型不正确时,返回一个错误消息。...
首先,针对“Java 图片播放”,Java提供了一些内置的类库,如`java.awt.image`和`javax.swing.ImageIcon`,可以用来加载和显示图片。`ImageIcon`类可以将图片加载到组件上,如标签(JLabel)进行展示。例如: ```...
描述中的“重新实现了CellRenderer,可同时显示图片和文字”表明我们要讨论的是如何用自定义的`ListCellRenderer`来创建一个可以同时显示图像和文本的`JList`。`CellRenderer` 是 Swing 中的一种设计模式,它允许...
在这个“图片显示窗口”项目中,开发者利用了Java的图形用户界面(GUI)组件和图像处理能力来创建一个能够加载并显示图片的应用。这通常涉及到Java的AWT(Abstract Window Toolkit)或Swing库,它们提供了创建窗口和...
本示例主要展示了如何在Java环境下显示动态图片,特别是GIF格式的动画。以下将详细介绍实现这一功能的关键步骤和相关知识点: 1. **使用`javax.swing.JFrame`作为基础窗口** `Donttai`类继承自`javax.swing.JFrame...
在Java编程中,图片的上传和按需缩放显示是一项常见的功能,特别是在Web应用或桌面应用中。这个过程涉及到文件I/O操作、图像处理以及可能的服务器交互。下面将详细介绍如何实现这一功能。 首先,我们需要处理图片的...
简单的显示图片代码,适用于初入Java的新手,简单实用易懂
本篇文章将详细阐述如何在Java Web环境中实现从MySQL数据库中读取并显示图片。 首先,我们需要在MySQL数据库中创建一个专门用于存储图片数据的表。这个表通常会包含一个BLOB(Binary Large Object)类型的字段,...
java——图片字体显示方块问题处理 /usr/java/jdk1.7.0_80/jre/lib/fonts/fallback msyhbd.ttf msyh.ttf wqy-microhei.ttf /usr/java/jdk1.7.0_80/lib/fonts/fallback msyhbd.ttf msyh.ttf wqy-microhei.ttf
【Java小应用程序连续显示图片详解】 在Java编程中,实现一个能够连续显示多张图片的小应用程序,主要涉及以下几个核心知识点: 1. **Swing库**:Java Swing是Java Foundation Classes (JFC)的一部分,用于构建...
在实现过程中,Java的`java.awt.Image`类和`javax.swing.ImageIcon`类可能被用来加载和显示图片,而`java.io.File`和`java.nio`包可能用于文件操作,如读取图片文件路径。此外,为了实现图片的顺序浏览,开发者可能...
Java图片生成器是一种基于Java编程语言的工具,用于创建、编辑或转换图像文件。这个工具可能包含各种功能,如绘制图形、添加文字、处理图像效果、读取和写入不同图像格式等。在Java中实现图片生成器涉及到对Java 2D ...
在Java编程中,图片渐进显示是一种常见的技术,特别是在网页加载或者大图处理时,能够提高用户体验。渐进显示指的是图片在加载过程中不是一次性完全显示,而是先展示低分辨率的模糊版本,随着数据的逐步加载,图片...
这段JSP会读取指定文件,并直接将内容输出到HTTP响应流中,浏览器就能显示图片。 在ASP(Active Server Pages)环境下,虽然Java不直接支持ASP,但可以通过.NET Framework的`System.Web.HttpRequest`类来处理文件...
本篇文章将详细探讨如何使用Java实现图片水印的添加,以及相关的知识点。 首先,我们需要了解Java中的图像处理库。Java标准库提供了`java.awt`和`javax.imageio`包,它们包含了处理图像的基本功能。`java.awt`包中...
4. **图片处理库**:为了显示和操作图片,系统可能依赖于Java的内置库如Java AWT或第三方库如Apache Commons Imaging(前身是Sanselan)或Java Advanced Imaging (JAI)。这些库提供了读取、解析、转换不同格式图片的...
1. **选择库**:Apache POI是Java社区广泛使用的库,它允许开发者创建、修改和显示Microsoft Office文件,包括Excel(XLS和XLSX格式)。对于导入和导出图片,我们需要使用它的SXSSFWorkbook(适用于大文件,内存效率...