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
    评论
评论 36
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

Talisman丶

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

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

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

打赏作者

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

抵扣说明:

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

余额充值