根据图片地址读取图片文件
温馨提示:
本文最后更新于 2019年07月03日,已超过 1,968 天没有更新。若文章内的图片失效(无法正常加载),请留言反馈或直接联系我。
/**
* @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();
}
}
}
}
应用场景:
- 上传头像后根据头像地址读取头像文件用于前台显示
- 图片预览
注,该文章,迁移自我的iteye博客,原文地址:https://843977358.iteye.com/blog/2251970
正文到此结束
- 本文标签: Java
- 本文链接: https://zhyd.me/article/134
- 版权声明: 本文由张亚东原创发布,转载请遵循《署名-非商业性使用-相同方式共享 4.0 国际 (CC BY-NC-SA 4.0)》许可协议授权