以Spring Boot的方式显示图片或下载文件到浏览器的示例代码
作者:程序员小哲 发布时间:2021-08-16 18:44:37
标签:Spring,Boot,下载文件,浏览器
以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


猜你喜欢
- 前言说到 ADB 大家应该都不陌生,即 Android Debug Bridge,Android调试桥,身为 Android 开发的我们,熟
- mybatis if test判断BigDecimal遇到的坑<update id="test" paramete
- 在 Eclipse 里新建好工程后,默认会有一个assets目录,在 Eclipse 中直接将准备好的 SQLite 数据库复制到该目录中,
- GoogleNow是Android4.1全新推出的一款应用他,它可以全面了解你的使用习惯,并为你提供现在或者未来可能用到的各种信息,Goog
- 本文介绍在Java编程时,如何快速的构造一个XML片段,然后再将这个XML输出出来。在日常使用Java开发时,经常会用到XML。XML用起来
- 前言单例模式,是工作中比较常见的一种设计模式,通常有两种实现方式,懒汉式和饿汉式。但是这两种实现方式存在一些问题。懒汉式需要在多线程环境下使
- 性能测试过程中,如果进行大量的并发时,界面容易卡死。通过非GUI(命令行)的方式是个不错的选择。windows环境1.在安装Jmeter的目
- 本篇随笔主要介绍用Java实现简单的装饰器设计模式:先来看一下装饰器设计模式的类图:从图中可以看到,我们可以装饰Component接口的任何
- SPI: 简单理解就是,你一个接口有多种实现,然后在代码运行时候,具体选用那个实现,这时候我们就可以通过一些特定的方式来告诉程序寻用那个实现
- 本文实例为大家分享了Android实现接近传感器的具体代码,供大家参考,具体内容如下1.接近传感器检测物体与听筒(手机)的距离,单位是厘米。
- Java栈之链式栈存储结构实现一、链栈采用单链表来保存栈中所有元素,这种链式结构的栈称为链栈。二、栈的链式存储结构实现package com
- 协程源码的结构在研究Kotlin源码之前,得先搞懂Kotlin源码结构分布。不然找不到该看哪里的代码。看源码之前当然先得有一个目标,最好是带
- 用伪语句可以表示如下public bitmap GrayScal(bitmap orgbmp){ 建立一
- 自动配置底层源码分析本次springboot源码来自2.6.6版本。@EnableAutoConfiguration源码解析在springb
- AutoCompleteTextView是实现动态匹配输入内容的一种输入框(EditText),如输入“and”时,会提示“Android”
- Bitmap (android.graphics.Bitmap)Bitmap是Android系统中的图像处理的最重要类之一。用它可以获取图像
- 算法简介迪杰斯特拉算法(Dijkstra)是由荷兰计算机科学迪家迪杰斯特拉于1959年提出的,因此又叫狄克斯特拉算法。是从一个顶点到其余各顶
- 周末了,觉得我还有很多作业没有写,针对目前大家对OOM的类型不太熟悉,那么我们来总结一下各种OOM出现的情况以及解决方法。我们把各种OOM的
- ArrayList和Vector的区别相同点:1、ArrayList和Vector都是继承了相同的父类和实现了相同的接口2、底层
- 在Android开发中,有时我们需要对一个对象的集合按照某一个字段进行排序,Beanpublic class Student { priva