springboot文件上传

简介: 关于java文件上传,如果我把文件上传到target的话,服务器每一次重启,上传的文件就会没有了,所以我们上传到磁盘那里就能防止文件的丢失了。

JAVA代码如下:

// 上传博客图片
    @PostMapping("/uploadPhoto")
    public R<Object> uploadPhoto(@RequestParam("image") MultipartFile file){

        SimpleDateFormat sdf= new SimpleDateFormat("yyyyMMddhhmmss");

        Date date = new Date();// 获取当前时间

        String randomNumber = sdf.format(date);

        //获取文件的后缀名
        String extension = FilenameUtils.getExtension(file.getOriginalFilename());
        //生成新的文件名
        String newFileName = randomNumber + "." + extension;

        File dateDir = new File(FinalData.UPLOAD_FOLDER);
        if (!dateDir.exists()) {
            dateDir.mkdirs();
        }
        try {
            file.transferTo(new File(FinalData.UPLOAD_FOLDER, newFileName));
        } catch (IOException e) {
            e.printStackTrace();
            return R.failed("上传失败");
        }
        //上传完毕,存入数据库中的地址为:
        String upload_address="/static/uploadImage/" + newFileName;
        return R.ok(upload_address);
    }

Configuration配置如下

@Configuration
public class UploadFilePathConfig implements WebMvcConfigurer {

    @Value("${file.staticAccessPath}")
    private String staticAccessPath;
    @Value("${file.uploadFolder}")
    private String uploadFolder;

    @Override
    public void addResourceHandlers(ResourceHandlerRegistry registry) {
        registry.addResourceHandler(staticAccessPath).addResourceLocations("file:" + uploadFolder);
    }
}

yml配置如下

###文件上传
file:
  ###静态资源对外暴露的访问路径
  staticAccessPath: /api/file/**
  ###静态资源实际存储路径
  uploadFolder: /usr/local/nginx/html/static/
  ###项目名
  servlet:
    context-path:
    ###文件上传
    multipart:
    enabled: true
    max-file-size: 10mb
    max-request-size: 10mb

uploadFolder: /usr/local/nginx/html/static/ 这个是我的服务器路径,所有静态资源都会存在该目录上,如果上传本地电脑d盘upload目录的话就配置 D:/upload

在这里插入图片描述
在这里插入图片描述
推荐阅读

2.5万字详细讲解个人网站的开发过程和项目的部署

不会用liunx命令怎么办?教你安装宝塔解除该烦恼

Redis常用的命令整理和springboot的整合

看青年大学习的正确步骤

  • 31
    点赞
  • 22
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 36
    评论
在Spring Boot中实现文件上传非常简单。首先,你需要在项目的依赖中添加spring-boot-starter-web。然后,你可以通过配置文件来对文件上传进行一些基本的配置。例如,你可以设置是否开启文件上传支持、文件写入磁盘的阈值、上传文件的临时保存位置、上传的单个文件的最大大小以及多文件上传时文件的总大小等。\[1\] 对于单文件上传,你可以创建一个HTML表单,使用enctype="multipart/form-data"来指定表单的编码类型,并使用<input type="file">来选择文件。然后,你可以在后端编写一个处理文件上传的接口,通过@RequestParam注解来获取上传的文件。\[2\] 对于多文件上传,你可以创建一个HTML表单,使用相同的方式来选择多个文件。然后,你可以在后端编写一个处理多文件上传的接口,通过@RequestParam注解来获取上传的文件列表。\[2\] 在Spring Boot中,如果你没有提供MultipartResolver,那么默认采用的MultipartResolver就是StandardServletMultipartResolver。因此,你甚至可以实现零配置的文件上传。\[3\] 总结起来,Spring Boot提供了简单而强大的功能来实现文件上传,你只需要添加依赖、进行一些基本的配置,然后在后端编写相应的接口即可实现文件上传功能。 #### 引用[.reference_title] - *1* *2* *3* [SpringBoot文件上传](https://blog.csdn.net/qq_43581790/article/details/123811775)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^control_2,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 36
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Talisman丶

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值