`
843977358
  • 浏览: 245846 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

根据图片地址读取图片文件

    博客分类:
  • java
阅读更多
/**   
 * @Title: ImageController.java 
 * @Description: TODO
 * @author zhangyd-c 
 * @date 2015年8月18日 下午1:04:15 
 * @version 1.0 
 */

package com.gcj.controller;

import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.IOException;
import java.io.InputStream;
import java.io.OutputStream;

import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;

/**
 *
 * @Description
 * @author (作者) zhangyd-c
 * @date (开发日期) 2015年8月18日 下午1:04:15
 * @version (版本) V1.0
 * @since (该版本支持的JDK版本) : 1.7
 * @modify (修改)
 * 
 * @Review (审核人)
 */
@Controller
@RequestMapping("/image")
public class ImageController {
    
    /**
     * 根据头像地址,读取头像文件
     * 
     * @param request
     * @param response
     * @param path
     * @author zhangyd-c
     * @date 2015年5月28日 上午9:21:02
     * @return void
     * @throws
     */
    @RequestMapping("/getUserAvatar")
    public void getUserLogo(HttpServletRequest request, HttpServletResponse response, String path) {
        File file = new File(path); // 括号里参数为文件图片路径
        if (!file.exists()) { // 如果文件不存在,则使用默认的图片
            path = request.getSession().getServletContext().getRealPath("/") + "assets/img/gallery/image2.jpg";// 可指定项目内的任意图片文件
            file = new File(path); // 括号里参数为文件图片路径
        }
        readyImage(response, file);
    }
    
    /**
     * 读取文件
     * 
     * @Description
     * @author zhangyd-c
     * @date 2015年10月10日 下午2:01:49
     * @param response
     * @param file
     */
    public void readyImage(HttpServletResponse response, File file) {
        response.setContentType("image/jpeg"); // 设置返回内容格式
        InputStream in = null;
        OutputStream os = null;
        try {
            in = new FileInputStream(file);
            os = response.getOutputStream(); // 创建输出流
            byte[] b = new byte[1024];
            while (in.read(b) != -1) {
                os.write(b);
            }
            os.flush();
        } catch (FileNotFoundException e) {
            e.printStackTrace();
        } catch (IOException e) {
            e.printStackTrace();
        } finally {
            try {
                if (in != null) {
                    in.close();
                }
                if (os != null) {
                    os.close();
                }
            } catch (IOException e) {
                e.printStackTrace();
            }
            
        }
    }
    
}

 应用场景:

    1.上传头像后根据头像地址读取头像文件用于前台显示

    2.图片预览

分享到:
评论

相关推荐

    java读取图片文件流

    java读取本地图片文件获取流!java读取本地图片文件获取流!

    从数据库读取图片文件

    当我们谈论“从数据库读取图片文件”时,通常涉及的是将图片作为BLOB(Binary Large Object)类型存储在数据库中,然后通过应用程序或API从数据库检索并显示这些图片。这一过程涉及到多个关键知识点,让我们逐一深入...

    c# 创建文件夹 文件 写入文件 读取文件 读取图片

    读取图片文件并显示在WinForm应用中,我们可以使用`Image`类。以下是一个示例: ```csharp using System.Drawing; using System.Windows.Forms; // 读取图片并显示在PictureBox控件中 Image img = Image.FromFile...

    C#远程获取图片文件流的方法

    主要介绍了C#远程获取图片文件流的方法,涉及C#针对图片及文件流操作的相关技巧,需要的朋友可以参考下

    读取图片文件_读入文件_文件读取_balance1cf_

    TensorFlow提供了多种内置的读取器,如`tf.WholeFileReader()`,它会读取整个文件内容,或者`tf.ImageReader()`,专门用于读取图像文件。使用`read()`方法读取队列中的文件,然后用`decode_jpeg()`或`decode_png()`...

    读取网络图片的五种方式

    这是最基础的方式,通过发送HTTP请求获取图片的二进制数据,然后将其转换为`Bitmap`对象,最后在`ImageView`中显示。这种方式虽然简单,但不推荐在实际项目中使用,因为它没有考虑到内存管理和线程安全问题。 2. *...

    Qt遍历本地文件中的所有图片资源

    6. 显示图片:当找到图片文件后,可以读取并显示图片,或者保存图片信息供后续处理。 四、代码示例 以下是一个简单的代码示例,用于遍历指定目录及其子目录中的图片文件: ```cpp void traverseDirectory(QDir ...

    用JAVA获取视频文件中的帧图片并等比缩放

    "用JAVA获取视频文件中的帧图片并等比缩放" Java是获取视频文件中的帧图片并等比缩放的重要技术之一。该技术可以应用于视频处理、图像处理、多媒体处理等领域。通过使用Java语言和javacv库,我们可以快速获取视频...

    OpenCVSharp读取视频文件并解析出图片

    本篇文章将深入探讨如何使用OpenCVSharp从视频文件中读取帧并将其解析为单独的图片。 首先,我们需要了解`VideoCapture`类,它是OpenCVSharp用来读取视频的核心组件。通过提供视频文件的路径,我们可以创建一个`...

    C#读取图片文件存入数据库

    // 获取图片文件的二进制数据 byte[] imageData; using (FileStream fileStream = new FileStream("image.bmp", FileMode.Open, FileAccess.Read)) { imageData = new byte[fileStream.Length]; fileStream.Read...

    Img图像文件格式解析及读取

    本文将深入探讨"Img"图像文件格式的解析和读取,这是计算机图形学、软件开发和图像处理中的一个核心概念。 Img文件格式并不常见,它通常与特定的硬件或软件应用相关,例如在嵌入式系统、游戏开发或者遥感图像处理...

    显示一张图片.zip_LabVIEW读取一张图片_labview加载图片_labview读取图片_languageqi8_用la

    最后,根据提供的压缩包文件名称"显示一张图片.vi",我们可以推断这是一个LabVIEW的虚拟仪器程序,它执行了读取和显示图片的功能。打开这个VI,用户可以看到图形化的代码结构,即G代码(G是Graphical Language的简称...

    安卓从文件夹读取图片路径并显示图片

    接下来,我们需要获取图片的路径。在Android中,图片可能存储在多种位置,如内部存储、外部存储或者网络上。这里假设图片存储在设备的外部存储(SD卡)的一个特定文件夹中。我们先请求读取外部存储的权限,在`...

    前端JS获取图片文件的真实格式信息

    通过前端JavaScript,使用二进制相关API,解析图像数据,读取图片文件的真实格式信息。 支持 jpg、png、webp、gif、ico、bmp、svg、avif,这些当前主流浏览器都都支持的图片格式,正确真实的识别。 避免强制修改后缀...

    js读取图片分辨率demo

    在JavaScript(简称JS)中,读取图片的分辨率通常涉及到图像元数据的处理,特别是EXIF(Exchangeable Image File Format)数据,这是许多数字照片中存储的信息,包括拍摄时间、地点以及图片的宽度和高度等。...

    php获取CSS文件中图片地址并保存到本地的类.zip

    类中可能会使用`file_get_contents`、`cURL`或者第三方HTTP客户端库(如Guzzle)来发送HTTP请求,获取图片内容。在下载过程中,可能需要处理重定向、超时、错误处理等问题。 4. **文件操作**: - 使用`file_put_...

    原生JS上传文件,获取文件二进制数据及文件大小和文件名称

    在前端开发中,上传文件是一项...总之,原生JavaScript提供了一套完整的API来处理文件上传,这使得开发者可以根据具体需求自由定制功能,而不受第三方库的限制。熟练掌握这些技术,对于前端开发者来说是非常重要的。

    android获取本地图片相册及图片

    获取图片文件列表通常通过`MediaStore`类实现,它是Android提供的一套用于访问多媒体数据库的API。可以使用`ContentResolver`查询`MediaStore.Images.Media.EXTERNAL_CONTENT_URI`,根据需要选择排序方式(如按日期...

    C#快速获取JPG图片大小及英寸分辨率

    在日常的图像处理中,经常会遇到需要获取图片尺寸和分辨率的情况。特别是在Web开发或者图形界面应用程序中,为了使图片展示更为美观和适应不同分辨率的屏幕,我们需要准确地获取这些信息。本文将详细介绍如何使用C#...

Global site tag (gtag.js) - Google Analytics