`

java显示图片

    博客分类:
  • java
 
阅读更多

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上传图片后立即将图片显示出来

    在Java开发中,图片上传并实时显示是一项常见的需求,特别是在Web应用中。本文将深入探讨如何利用Java技术实现在图片上传后立即在页面上显示。首先,我们需要理解这个过程涉及的关键技术点,包括文件上传、文件处理...

    用java显示一张图片

    使用java显示一张图片的源代码,供大家学习

    java中使用标签来显示图片源码

    本教程将专注于如何使用Java中的标签组件(JLabel)来显示图片,并将其设置为窗口的背景。我们将通过分析提供的代码和资源文件来理解这个过程。 首先,`pic.java` 文件很可能是实现这一功能的主要Java源代码。在...

    java实现图片上传并显示

    6. **显示图片**:在前端页面上,使用`&lt;img&gt;`标签显示图片。图片的`src`属性应指向保存在数据库中的路径。 7. **错误处理**:添加适当的异常处理,例如当文件大小超过限制或者文件类型不正确时,返回一个错误消息。...

    Java 图片播放 音乐播放

    首先,针对“Java 图片播放”,Java提供了一些内置的类库,如`java.awt.image`和`javax.swing.ImageIcon`,可以用来加载和显示图片。`ImageIcon`类可以将图片加载到组件上,如标签(JLabel)进行展示。例如: ```...

    图片+文字的Jlist

    描述中的“重新实现了CellRenderer,可同时显示图片和文字”表明我们要讨论的是如何用自定义的`ListCellRenderer`来创建一个可以同时显示图像和文本的`JList`。`CellRenderer` 是 Swing 中的一种设计模式,它允许...

    图片显示窗口

    在这个“图片显示窗口”项目中,开发者利用了Java的图形用户界面(GUI)组件和图像处理能力来创建一个能够加载并显示图片的应用。这通常涉及到Java的AWT(Abstract Window Toolkit)或Swing库,它们提供了创建窗口和...

    java实现gif动画效果(java显示动态图片)

    本示例主要展示了如何在Java环境下显示动态图片,特别是GIF格式的动画。以下将详细介绍实现这一功能的关键步骤和相关知识点: 1. **使用`javax.swing.JFrame`作为基础窗口** `Donttai`类继承自`javax.swing.JFrame...

    java实现图片的上传以及根据需要缩小显示

    在Java编程中,图片的上传和按需缩放显示是一项常见的功能,特别是在Web应用或桌面应用中。这个过程涉及到文件I/O操作、图像处理以及可能的服务器交互。下面将详细介绍如何实现这一功能。 首先,我们需要处理图片的...

    Java程序图片的显示

    简单的显示图片代码,适用于初入Java的新手,简单实用易懂

    在java web中显示存入mysql数据库的图片

    本篇文章将详细阐述如何在Java Web环境中实现从MySQL数据库中读取并显示图片。 首先,我们需要在MySQL数据库中创建一个专门用于存储图片数据的表。这个表通常会包含一个BLOB(Binary Large Object)类型的字段,...

    处理linux java图片中文字显示方块乱码

    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小应用程序连续显示图片详解】 在Java编程中,实现一个能够连续显示多张图片的小应用程序,主要涉及以下几个核心知识点: 1. **Swing库**:Java Swing是Java Foundation Classes (JFC)的一部分,用于构建...

    java编写的图片浏览器

    在实现过程中,Java的`java.awt.Image`类和`javax.swing.ImageIcon`类可能被用来加载和显示图片,而`java.io.File`和`java.nio`包可能用于文件操作,如读取图片文件路径。此外,为了实现图片的顺序浏览,开发者可能...

    java图片生成器

    Java图片生成器是一种基于Java编程语言的工具,用于创建、编辑或转换图像文件。这个工具可能包含各种功能,如绘制图形、添加文字、处理图像效果、读取和写入不同图像格式等。在Java中实现图片生成器涉及到对Java 2D ...

    Java图片渐进显示

    在Java编程中,图片渐进显示是一种常见的技术,特别是在网页加载或者大图处理时,能够提高用户体验。渐进显示指的是图片在加载过程中不是一次性完全显示,而是先展示低分辨率的模糊版本,随着数据的逐步加载,图片...

    java实现图片上传预览

    这段JSP会读取指定文件,并直接将内容输出到HTTP响应流中,浏览器就能显示图片。 在ASP(Active Server Pages)环境下,虽然Java不直接支持ASP,但可以通过.NET Framework的`System.Web.HttpRequest`类来处理文件...

    采用java实现图片水印

    本篇文章将详细探讨如何使用Java实现图片水印的添加,以及相关的知识点。 首先,我们需要了解Java中的图像处理库。Java标准库提供了`java.awt`和`javax.imageio`包,它们包含了处理图像的基本功能。`java.awt`包中...

    java图片浏览管理系统

    4. **图片处理库**:为了显示和操作图片,系统可能依赖于Java的内置库如Java AWT或第三方库如Apache Commons Imaging(前身是Sanselan)或Java Advanced Imaging (JAI)。这些库提供了读取、解析、转换不同格式图片的...

    java导出图片到excel

    1. **选择库**:Apache POI是Java社区广泛使用的库,它允许开发者创建、修改和显示Microsoft Office文件,包括Excel(XLS和XLSX格式)。对于导入和导出图片,我们需要使用它的SXSSFWorkbook(适用于大文件,内存效率...

Global site tag (gtag.js) - Google Analytics