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

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!
posted @ 2022-07-08 16:16  万笑佛  阅读(5536)  评论(0编辑  收藏  举报