springboot 实现接收前端发来的图片和视频以及在页面上展示图片和视频

一、效果:

1、上传图片

2、显示上传的图片

3、上传的视频

4、显示上传的视频

二、代码

没依赖特殊的包,引入springweb就行

1、配置文件:

# 应用名称
spring.application.name=demo
# 应用服务 WEB 访问端口
server.port=8080 #设置上传文件大小,默认是1M
spring.servlet.multipart.max-request-size=200MB
spring.servlet.multipart.max-file-size=200MB

2、controller类:

package com.example.demo;

import org.springframework.web.bind.annotation.*;
import org.springframework.web.multipart.MultipartFile;
import javax.servlet.http.HttpServletResponse;
import java.io.File;
import java.io.FileInputStream;
import java.io.IOException;
import java.io.OutputStream; /**
* <p>描述: 图片和视频上传和查看。</p>
* <p>文件名称: Controller.java</p>
* <p>创建时间: 2022-07-08 </p>
* @author 万笑佛
* @since 2022-07-08
*/ @RestController
@RequestMapping("/editor")
public class Controller { /**
* 图片上传。
*
* @param fileUpload
* @return JSONObject
*/
@PostMapping(value = "/image/upload" )
@ResponseBody
public void imageUpload(@RequestParam("file") MultipartFile fileUpload) { //获取文件名
String fileName = fileUpload.getOriginalFilename();
String tmpFilePath = "D://test//image//" ; //没有路径就创建路径
File tmp = new File(tmpFilePath);
if (!tmp.exists()) {
tmp.mkdirs();
}
String resourcesPath = tmpFilePath + "//" + fileName; File upFile = new File(resourcesPath);
try {
fileUpload.transferTo(upFile);
} catch (IOException e) {
e.printStackTrace();
} } /**
* 图片查看。 * @return String
*/
@GetMapping("/image/look")
public String imageLook (HttpServletResponse response) { File file = new File("D:\\test\\image\\1.png");
byte[] bytes = new byte[1024];
try (OutputStream os = response.getOutputStream();
FileInputStream fis = new FileInputStream(file)){
while ((fis.read(bytes)) != -1) {
os.write(bytes);
os.flush();
}
} catch (IOException e) {
e.printStackTrace();
}
return "success";
} /**
* 视频上传。
*
* @param fileUpload
* @return JSONObject
*/
@PostMapping(value = "/video/upload" )
@ResponseBody
public void videoUpload(@RequestParam("file") MultipartFile fileUpload) { //获取文件名
String fileName = fileUpload.getOriginalFilename();
String tmpFilePath = "D://test//video//" ;
//没有路径就创建路径
File tmp = new File(tmpFilePath);
if (!tmp.exists()) {
tmp.mkdirs();
}
String resourcesPath = tmpFilePath + "//" + fileName;
File upFile = new File(resourcesPath);
try {
fileUpload.transferTo(upFile);
} catch (IOException e) {
e.printStackTrace();
} } /**
* 视频查看。 * @return String
*/
@GetMapping("/video/look")
public String videoLook (HttpServletResponse response) {
File file = new File("D:\\test\\video\\1.mp4");
byte[] bytes = new byte[1024];
try (OutputStream os = response.getOutputStream();
FileInputStream fis = new FileInputStream(file)){
while ((fis.read(bytes)) != -1) {
os.write(bytes);
os.flush();
}
} catch (IOException e) {
e.printStackTrace();
}
return "success";
} }

推荐一个适合零基础学习SQL的网站:不用安装数据库,在线轻松学习SQL!

springboot 实现接收前端发来的图片和视频以及在页面上展示图片和视频的更多相关文章

  1. web页面上展示图片时,图片不显示,报错:ERR_CONTENT_LENGTH_MISMATCH

      问题描述 前端页面加载css,和js文件的时候,经常出现ERR_CONTENT_LENGTH_MISMATCH的报错情况.   查找问题 在单独打开hearder中css,js的网络地址是能打开的 ...

  2. 使用 jQuery 操作页面元素的方法,实现浏览大图片的效果,在页面上插入一幅小图片,当鼠标悬停到小图片上时,在小图片的右侧出现与之相对应的大图片

    查看本章节 查看作业目录 需求说明: 使用 jQuery 操作页面元素的方法,实现浏览大图片的效果,在页面上插入一幅小图片,当鼠标悬停到小图片上时,在小图片的右侧出现与之相对应的大图片 实现思路: 在 ...

  3. 使用JavaScript 中的Math对象和勾股定理公式,计算鼠标的位置与页面图片中心点的距离,根据距离对页面上的图片进行放大或缩小处理。距离远时图片放大,距离近时图片缩小

    查看本章节 查看作业目录 需求说明: 使用JavaScript 中的Math对象和勾股定理公式,计算鼠标的位置与页面图片中心点的距离,根据距离对页面上的图片进行放大或缩小处理.距离远时图片放大,距离近 ...

  4. SpringBoot 后端接收前端传值的方法

    1.通过HttpServletRequest接收,适用于GET 和 POST请求方式       通过HttpServletRequest对象获取请求参数 @RestController @Reque ...

  5. 一段实现页面上的图片延时加载的js

    大家如果使用firebug去查看的话就会发现,当你滚动到相应的行时,当前行的图片才即时加载的,这样子的话页面在打开只加可视区域的图片,而其它隐藏的图片则不加载,一定程序上加快了页面加载的速度,对于比较 ...

  6. 前端H5,点击选择图片控件,图片直接在页面上展示~

    <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...

  7. javaweb页面上展示动态图片

    HTML <img alt="点击设定" name="CONSTRUCTIONPLANHIS_IMAGE_curr_img_0" src="vi ...

  8. Python Django CMDB项目实战之-3创建form表单,并在前端页面上展示

    基于之前的项目代码 Python Django CMDB项目实战之-1如何开启一个Django-并设置base页.index页.文章页面 Python Django CMDB项目实战之-2创建APP. ...

  9. java 通过流的方式读取本地图片并显示在jsp 页面上(类型以jpg、png等结尾的图片)

    Java代码: File filePic = new File(path+"1-ab1.png"); if(filePic.exists()){ FileInputStream i ...

  10. 关于springmvc 只能在index.jsp页面显示图片的处理办法jsp页面无法显示图片

    首先,已经配置好了mvc对静态资源的处理 只有index,jsp可以显示图片 其他页面同样的代码则不显示 后来折腾了半天,发现 index是static的父目录的级别文件 可以向下访问 但是其他的js ...

随机推荐

  1. OpenTiny Vue 3.12.0 发布:文档大优化!增加水印和二维码两个新组件🎈

    你好,我是 Kagol. 非常高兴跟大家宣布,2023年11月30日,OpenTiny Vue 发布了 v3.12.0 . OpenTiny 每次大版本发布,都会给大家带来一些实用的新特性,10.24 ...

  2. 华企盾DSC苹果电脑右键菜单不显示问题

    1.检查认证的用户是否给了对应的权限(如:手动加密.手动解密.申请解密) 2.系统偏好设置--键盘--快捷键中开通的权限是否有勾选 3.系统服务中允许的菜单数超出了最大值

  3. MyBatis高频面试题

    1.MyBatis中使用#和$书写占位符有什么区别? 2.Hibernate 与 Mybatis区别(MyBatis与Hibernate有什么不同). 3.持久层设计要考虑的问题有哪些? 4.你用过的 ...

  4. iMessage群发,iMessage群发功能,iMessage群发功能设计,iMessage群发系统

    在数字通讯时代,群发消息已经成为我们日常生活中不可或缺的一部分,无论是商务.社交还是日常沟通,群发功能都大大提高了消息传递的效率和便利性. 而在众多的通讯软件中,iMessage无疑是其中的佼佼者,今 ...

  5. OpenEuler22.03安装最新版本Docker

    一.环境及问题 操作系统环境如下: 操作系统:OpenEuler 22.03 LTS 安装方式:最小化安装 在操作系统安装完毕如果直接采用dnf或者yum方式安装docker: sudo dnf in ...

  6. Python——第四章:内置函数(下)

    内置函数的使用方法: locals:函数会以字典的类型返回当前位置的所有局部变量 globals:函数会以字典的类型返回全部局部变量 zip: 可以把多个可迭代内容进行合并 sorted: 排序 fi ...

  7. 终于肝完了!全网最全、最详细、最全面的 Hadoop大数据学习教程( 2023最新版 )

    大家好,我是民工哥! 前面给大家介绍了:关系型数据库 MySQL . NoSQL 数据库 Redis . MongoDB .搜索引擎 ElasticSearch 等知识体系学习的文章. 在当今这样的就 ...

  8. GaussDB(DWS)性能调优:Sort+Groupagg聚集引起的性能瓶颈案例

    本文分享自华为云社区<GaussDB(DWS)性能调优:Sort+Groupagg聚集引起的性能瓶颈案例>,作者: O泡果奶~ . 本文针对SQL语句长时间执行不出来,且verbose执行 ...

  9. 教你用Java7的Fork/Join框架开发高并发程序

    摘要:Fork/Join框架位于J.U.C(java.util.concurrent)中,是Java7中提供的用于执行并行任务的框架,其可以将大任务分割成若干个小任务,最终汇总每个小任务的结果后得到最 ...

  10. 加快云原生技术转型, 智能调度登陆华为云DevOps: 增速,节源

    摘要:本文将探讨智能资源调度在华为云DevOps上的应用与实践. 本文分享自华为云社区<加快云原生技术转型, 智能调度登陆华为云DevOps: 增速,节源>,作者: DevAI. 1. 背 ...