本地上传
有异常直接抛出即可
MultipartFile为上传文件类型,还有的其他的常见方法如下:
Postman发post请求读取不到文件:
提示:The file above is not in your working directory, and will be unavailable to your teammates when you share the request. You can either set up your working directory in Settings, or upload the file to Postman.
解决方法:File->Settings->General->WORKING DIRECTORY->Choose->选择目录,将需要上传的文件放在此目录下即可
修改后效果如下:
注意,若还报错405,可能是请求方式是Get没有改为Post
上传文件大小超过限制:
报错:Resolved [org.springframework.web.multipart.MaxUploadSizeExceededException: Maximum upload size exceeded]
Spring Boot 默认上传文件大小限制是 1MB,默认单次请求大小是 10MB,超出大小会跑出 MaxUploadSizeExceededException 异常。
注意,单次请求中可上传多个文件
解决办法:
在 application.properties 中添加:
spring.servlet.multipart.max-file-size=10MB
spring.servlet.multipart.max-request-size=100MB
(我设置的10MB和100MB分别为单个文件大小和单次请求大小,可自行替换为其他大小)
阿里云OSS
创建Bucket:登录->点击右上角控制台->点击左上角三个短横杠->搜索oss->点击对象存储服务oss->Bucket列表->创建Bucket
项目使用oss上传文件:登录->点击右上角控制台->往下滑找到并点击SDK下载->SDK示例->文档中心打开->SDK参考->JAVA->安装->复制依赖在pom.xml中引入->对象/文件->上传文件->简单上传->复制上传文件流代码->粘贴到包中->修改配置信息
修改配置信息:
修改endpoint:在Bucket列表中选择Bucket->概览->Endpoint(地域节点)->复制第一排节点->将endpoint的 http:// 后的地址替换掉
修改访问凭证:自行参考SDK参考文档,选择配置环境变量/代码嵌入,如下:
修改bucket名称,替换到buckeyName中
修改objectName,即上传的文件在阿里云oss中的名称,自行选择
修改filePath,选择上传的本地文件的路径:右键选择的文件->属性->安全->复制对象名称后替换
查看自己是java几版本:打开控制台输入java -version即可(老版本可能会报错)
可能会出现classnotfoundexception,我好像是重启了就好了(疑惑)
参数配置化
将参数交给application.properties配置文件
@Value注入外部属性配置
yml配置文件
常见数据格式:
yml配置文件配置数据库密码时:
@ConfigurationProperties
用于将配置文件以注入的形式在类中使用
先创建一个用于配置的java类,类中属性名要与配置的名称保持相同,再在类上加上@Data和@component注解,在@ConfigurationProperties中prefix属性值与类中属性值对应的配置前缀相同
然后在需要使用配置属性的类中注入bean对象并使用get方法获取属性值即可