当前位置: 首页 > news >正文

wordpress文章迁移到dz论坛/广州seo网站服务公司

wordpress文章迁移到dz论坛,广州seo网站服务公司,上海 网站开发 兼职,域名网站排名前言 在后端处理文件上传的时候,我们通上传文件的时候,一般这个路径不会随便写。 比如这篇文章中的路径:解决SpringBoot文件上传报错:org.apache.tomcat.util.http.fileupload.impl.FileSizeLimitExceededException 我当时就想…

前言

在后端处理文件上传的时候,我们通上传文件的时候,一般这个路径不会随便写。

比如这篇文章中的路径:解决SpringBoot文件上传报错:org.apache.tomcat.util.http.fileupload.impl.FileSizeLimitExceededException

我当时就想着随便写一个路径进行测试,所以临时定义了一个路径,其实这样的是不对的。

正确的做法是是将路径配置成一个统一的地址,我们通过获取配置项得到地址,然后进行逻辑操作。

配置全局上传路径

配置全局上传路径,其实很简单,需要借助一个配置项:

我没有云服务器,这里以自己的电脑的某个文件夹为例

# 文件上传路径
file.uploadFolder=D:/upload/

在这里插入图片描述

其实就是这里:

在这里插入图片描述

读取配置

配置完之后呢,我们需要在对应的地方获取该配置项,获取配置项的方式很简单,通过@value注解即可实现,它的值就是配置项的key

注意:

@value注解是springframework包下面的,可不要用错了!
import org.springframework.beans.factory.annotation.Value;

在这里插入图片描述

    // 文件上传路径,从配置项获取@Value("${file.uploadFolder}")private String basePath;

在这里插入图片描述

动态获取到配置项之后,我们就可以进行逻辑处理了。这里以文件上传为例,简单的演示以下

package com.wyh.controller;import cn.hutool.core.util.RandomUtil;
import com.wyh.common.Result;
import com.wyh.entity.User;
import com.wyh.service.impl.IUserServiceImpl;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.web.bind.annotation.*;
import org.springframework.web.multipart.MultipartFile;import javax.annotation.Resource;
import java.io.File;
import java.io.IOException;
import java.util.Calendar;/*** @Description: 用户控制器* @Author: 魏一鹤* @Date: 2022-11-30 22:47**/
@RestController
@RequestMapping("/user")
public class UserController {@ResourceIUserServiceImpl userService;// 文件上传路径,从配置项获取@Value("${file.uploadFolder}")private String basePath;/*** @Author 魏一鹤* @Description 上传文件* @Date 21:12 2023/2/5**/@PostMapping("/upload")public Result upload(MultipartFile file) {// 原文件if (file == null) {return Result.fail("请选择文件!");}// 原文件名String originalFilename = file.getOriginalFilename();// 原文件后缀String suffix = originalFilename.substring(originalFilename.lastIndexOf("."));Calendar calendar = Calendar.getInstance();// 当前年份,用于拼接文件上传路径String year = String.valueOf(calendar.get(Calendar.YEAR));// 当前月份,注意加1,用于拼接文件上传路径String month = String.valueOf(calendar.get(Calendar.MONTH) + 1);String day = String.valueOf(calendar.get(Calendar.DAY_OF_MONTH));// 新的文件名称/**  方案1 新的文件名称:uuid+"_"+源文件名称 String newFileName = UUID.randomUUID().toString() + "_" + originalFilename;*  方案2 新的文件名称:当前年+"_"+月 "_"+日+"_"+随机六位数+"_"+源文件名称         String newFileName = year +  "_"+ month +  "_"+day + "_" + RandomUtil.randomNumbers(6) + "_" + originalFilename;*   这里选择的是方案2**/String newFileName = year + "_" + month + "_" + day + "_" + RandomUtil.randomNumbers(6) + "_" + originalFilename;// 文件路径String filePath = basePath + newFileName;//创建一个目录对象File dir = new File(basePath);//判断当前目录是否存在if (!dir.exists()) {//目录不存在,需要创建dir.mkdirs();}  //将临时文件转存到指定位置try {file.transferTo(new File(filePath));} catch (IOException e) {e.printStackTrace();}return Result.ok(filePath);}}

测试效果

代码写完之后,就可以测试下了

在这里插入图片描述

正常上传过来了:

在这里插入图片描述

总结

一般我们都是上传到oss或者项目服务器上,也是一样的道理,只是配置项的值不同。通过这种方式,可以更加精准的对文件路径进行控制。方便后面的维护。

http://www.lbrq.cn/news/1079137.html

相关文章:

  • smarty网站程序/竞价推广账户竞价托管收费
  • html淘宝店铺网站模板/搜索指数的数据来源是什么
  • 企业综合信息服务平台/百度广告优化
  • 17网一起做网店普宁站/网络营销和推广的方法
  • 移动web开发/搜索引擎排名优化技术
  • 沈阳网站制作公司思路/武汉seo关键词优化
  • 公司网站免费模板/谷歌广告上海有限公司
  • 蛋品 东莞网站建设/seo免费自学的网站
  • 英国疫情最新消息2023/百度seo怎么做网站内容优化
  • 建设网站公司哪里好相关的热搜问题/百度seo哪家公司好
  • 上海网站建设服务框架/百度seo优化分析
  • 做微信的微网站费用多少/网店如何推广自己的产品
  • 湖南网站建设公司 干净磐石网络/惠州百度seo哪里强
  • 做网站必须要购买空间吗/最全磁力搜索引擎
  • 网站做app的软件有哪些/抖音竞价推广怎么做
  • 个人网站内容/线上营销活动有哪些
  • 做网站用的一些素材/百度推广账号登录
  • 贵州做网站/软文推广平台
  • 沧州网站建设 3tseo/徐州网站关键词排名
  • 石家庄做网站/百度推广怎么收费标准案例
  • 做网页设计卖钱的网站/短视频推广app
  • 建百度网站/服务器
  • 做网站需要ui设计吗/搜索引擎优化代理
  • 南宁网站建设王道下拉強/软文网站平台
  • 站长工具ip地址/百度推广一天烧多少钱
  • 介绍几个能进去的a站/app推广平台排行榜
  • wordpress 获取文章第一张图片/网站做seo教程
  • 电脑上如何做课程视频网站/东营百度推广公司
  • 武汉专业网站制作/百度seo优化怎么做
  • 设计深圳/百度推广seo怎么学
  • Vue 详情模块 4
  • 第13届蓝桥杯Python青少组中/高级组选拔赛(STEMA)2022年3月13日真题
  • 32. flex 的子元素可以浮动吗
  • Qt 开发自动化测试框架搭建
  • 【worklist】worklist的hl7、dicom是什么关系
  • 构建智能体(Agent)时如何有效管理其上下文