以Spring Boot的方式显示图片或下载文件到浏览器的示例代码
作者:程序员小哲 时间:2021-08-16 18:44:37
以Java web的方式显示图片到浏览器以Java web的方式下载服务器文件到浏览器
以Spring Boot的方式显示图片或下载文件到浏览器
请求例子:http://localhost:8080/image/1564550185144.jpeg
示例代码:
import org.springframework.context.annotation.Configuration;
import org.springframework.web.servlet.config.annotation.ResourceHandlerRegistry;
import org.springframework.web.servlet.config.annotation.WebMvcConfigurer;
import java.io.File;
import java.io.IOException;
@Configuration
public class ImageShow implements WebMvcConfigurer {
@Override
public void addResourceHandlers(ResourceHandlerRegistry registry) {
File directory = new File("image");
String path = null;
try {
path = directory.getCanonicalPath();
}catch (IOException e){
e.printStackTrace();
}
registry.addResourceHandler("/image/**").addResourceLocations("file:"+path+"/");
}
}
运行结果:
显示图片
下载文件
补充:springboot 下载图片并输出浏览器
@GetMapping(value = "v1/returnGroupCode",produces = MediaType.IMAGE_JPEG_VALUE)
public byte[] returnGroupCode(@RequestParam("seriesUniqueCode") String seriesUniqueCode){
URL url = null;
InputStream is = null;
ByteArrayOutputStream outStream = null;
HttpURLConnection httpUrl = null;
try{
url = new URL(pdGroupcodeSeriesInfo.getQrCodeUrl());
httpUrl = (HttpURLConnection) url.openConnection();
httpUrl.connect();
httpUrl.getInputStream();
is = httpUrl.getInputStream();
outStream = new ByteArrayOutputStream();
//创建一个Buffer字符串
byte[] buffer = new byte[1024];
//每次读取的字符串长度,如果为-1,代表全部读取完毕
int len = 0;
//使用一个输入流从buffer里把数据读取出来
while( (len=is.read(buffer)) != -1 ){
//用输出流往buffer里写入数据,中间参数代表从哪个位置开始读,len代表读取的长度
outStream.write(buffer, 0, len);
}
byte[] temp = outStream.toByteArray();
return temp;
}
来源:https://blog.csdn.net/xiaozhezhe0470/article/details/112519660
标签:Spring,Boot,下载文件,浏览器
0
投稿
猜你喜欢
浅谈Android Studio如何Debug对应so文件C/C++代码
2023-11-20 03:23:35
解决JTable排序问题的方法详解
2023-02-07 08:53:42
解决@Cacheable在同一个类中方法调用不起作用的问题
2022-02-19 01:46:54
Android中隐藏状态栏和标题栏的方法汇总(隐藏状态栏、标题栏的五种方法)
2022-05-18 07:31:03
Windows 10上JDK环境安装配置图文教程
2023-05-31 19:38:03
Android开发组件化架构设计原理到实战
2023-06-14 12:51:13
C#利用DesignSurface如何实现简单的窗体设计器
2023-10-18 18:43:28
Java多线程之同步工具类CyclicBarrier
2021-10-13 00:24:20
C#中比较常用的DateTime结构的使用方法
2023-01-06 21:33:11
C#移除字符串中的不可见Unicode字符 案例代码
2023-04-28 19:06:06
Android高级组件ImageSwitcher图像切换器使用方法详解
2023-11-07 13:18:19
Android Mms之:对话与联系人关联的总结详解
2023-12-06 13:12:57
C++联合体union用法实例详解
2023-12-01 16:34:00
详解Java实现设计模式之责任链模式
2023-11-08 10:32:07
IDEA查看Scala的源码的教程图解
2023-12-13 22:50:45
Springboot工具类FileCopyUtils使用教程
2023-10-15 18:56:36
基于JavaSwing设计和实现的酒店管理系统
2022-03-31 12:12:14
浅谈Mybatis传参类型如何确定
2023-11-12 12:13:21
java微信公众号支付开发之现金红包
2023-09-01 17:28:38
SpringCloud超详细讲解微服务网关Gateway
2021-09-11 14:54:49