首页 > 其他分享 >Spring文件上传和下载预览-WebMvcConfigurer方式

Spring文件上传和下载预览-WebMvcConfigurer方式

时间:2023-07-20 10:46:14浏览次数:38  
标签:files web 预览 Spring springframework file org WebMvcConfigurer import

WebMvcConfigurer配置添加resources映射到本地路径


package com.example.springfileupload3.config;

import org.springframework.context.annotation.Configuration;
import org.springframework.web.servlet.config.annotation.ResourceHandlerRegistry;
import org.springframework.web.servlet.config.annotation.WebMvcConfigurer;

/**
 * WebConfig
 *
 * @Description
 * @Author wzq
 **/
@Configuration
public class WebConfig implements WebMvcConfigurer {

    @Override
    public void addResourceHandlers(ResourceHandlerRegistry registry) {
        // /files/**为resources下的路径
        // /files/** 映射到本地的路径 file:D:/work/temp/
        // 文件上传到file:D:/work/temp/路径后,可根据ip:port/files/文件名称
        // 例如 http://127.0.0.1:8080/files/logo.png 来进行访问
        registry.addResourceHandler("/files/**")
                .addResourceLocations("file:D:/work/temp/");
    }
}

FileUploadController文件上传

package com.example.springfileupload3.controller;

import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.RestController;
import org.springframework.web.multipart.MultipartFile;

import java.io.File;
import java.io.IOException;

/**
 * 文件上传
 *
 * @Description
 * @Author wzq
 **/
@RestController
public class FileUploadController {

    @RequestMapping("/fileUpload")
    public String fileUpload(@RequestParam("file") MultipartFile file) throws IOException {
        String filePath = "D:/work/temp/" + file.getOriginalFilename();
        file.transferTo(new File(filePath));
        return "success";
    }

}

访问:http://127.0.0.1:8080/files/文件名.png

标签:files,web,预览,Spring,springframework,file,org,WebMvcConfigurer,import
From: https://www.cnblogs.com/GoslingWu/p/17567680.html

相关文章

  • springBoot——读取数据
    在yml文件中读取数据,用$符号就可以类似于这样的如果要读取yml里面全部的数据,就用自动装配来写而如果要用实体类来读取里面的数据packagecom.example.springboot_01.domain;importorg.springframework.boot.context.properties.ConfigurationProperties;importorg.spr......
  • 我开源了团队内部基于SpringBoot Web快速开发的API脚手架stater
    我们现在使用SpringBoot做Web开发已经比之前SprngMvc那一套强大很多了。但是用SpringBootWeb做API开发还是不够简洁有一些。每次WebAPI常用功能都需要重新写一遍。或者复制之前项目代码。于是我封装了这么一个抽出SpringBootWebAPI每个项目必备需要重复写的模块,和......
  • Spring
    Spring1.1简介Spring:春天----->给软件行业带来了春天。2002,首次推出了Spring框架是雏形,interface21框架。spring框架即以interface21框架为基础,经过重新设计,并不断丰富其内涵,于2004年3月24日发布了1.0正式版。RodJohnson,SpringFramework创始人,著名作者。spring理念:使现......
  • springboot整合mybatis
    项目结构: 1.添加依赖<?xmlversion="1.0"encoding="UTF-8"?><projectxmlns="http://maven.apache.org/POM/4.0.0"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation="http://mave......
  • springboot日志
    日志简述 我们具体应该怎么选用  如何使用 首先应该导入抽象框架,搞出日志记录器,穿进去你想记录的类日志适配层 最上都是抽象接口,中间是适配层,来适配本来不也是slf4j框架的包装层解决历史遗留问题 如何把其他框架的日志替换成slf4j,把原来包里的替换成ov......
  • 流畅预览——设置代理剪辑
    画质太高导致预览卡顿需要使用ME来压缩画质怎么用4K的序列,但是预览的时候是720P的呢,选中这个切换代理......
  • Spring Authorization Server (三)客户端搭建
    在上一篇中,我们介绍了认证服务器的搭建,由于我们没有自己的客户端回调地址,在测试过程中,我们是使用http://www.baidu.com作为回调地址,获取到授权码code后,再使用postman去获取令牌信息的。在本篇中,我们将搭建自己的客户端,实现连贯的令牌获取操作,操作流程如下。场景类比假设我们公司的......
  • spring cloud stream RabbitMQ实践
    上一篇文章介绍了《springcloudstreamkafka实践》提到springcloud封装了消息中间件,只需要简单修改配置就可以切换消息中间件。在kafka的基础上,切换到rabbitmq。一、配置依赖1<dependency>2<groupId>org.springframework.cloud</groupId>3<artifactId......
  • springcloud stream kafka实践
    SpringCloudStream是SpringCloud提供的一个用于构建消息驱动的微服务的框架。它简化了消息系统(如Kafka,rabbitMQ)的使用和集成,使开发者可以更专注于业务逻辑的实现。项目结构如下 一、移入依赖创建一个springbootweb项目引入依赖1<properties>2<java.version>1......
  • springboot——yaml格式
    ......