springcloud 上传文件
时间: 2023-11-16 18:07:51 浏览: 89
以下是基于Spring Cloud Alibaba解决方案实现文件上传的步骤:
1.添加依赖
在pom.xml文件中添加以下依赖:
```xml
<dependency>
<groupId>com.alibaba.cloud</groupId>
<artifactId>spring-cloud-starter-alibaba-nacos-discovery</artifactId>
<version>2.2.1.RELEASE</version>
</dependency>
<dependency>
<groupId>com.alibaba.cloud</groupId>
<artifactId>spring-cloud-starter-alibaba-nacos-config</artifactId>
<version>2.2.1.RELEASE</version>
</dependency>
<dependency>
<groupId>com.alibaba.cloud</groupId>
<artifactId>spring-cloud-starter-alibaba-oss</artifactId>
<version>2.2.1.RELEASE</version>
</dependency>
```
2.配置文件
在application.yml文件中添加以下配置:
```yaml
spring:
application:
name: file-upload-service
cloud:
nacos:
discovery:
server-addr: localhost:8848
config:
server-addr: localhost:8848
file-extension: yaml
group: DEFAULT_GROUP
namespace: 5f6d7c9c-7d3e-4c5a-8d5c-5d7d7d7d7d7d
refreshable-dataids: file-upload-service.yaml
alibaba:
oss:
endpoint: oss-cn-hangzhou.aliyuncs.com
access-key: <your-access-key>
secret-key: <your-secret-key>
bucket-name: <your-bucket-name>
```
3.编写代码
创建一个名为FileUploadController的控制器类,其中包含一个名为upload的方法,用于处理文件上传请求。代码如下:
```java
@RestController
public class FileUploadController {
@Autowired
private OSS ossClient;
@PostMapping("/upload")
public String upload(@RequestParam("file") MultipartFile file) throws IOException {
String fileName = file.getOriginalFilename();
InputStream inputStream = file.getInputStream();
ossClient.putObject("<your-bucket-name>", fileName, inputStream);
return "success";
}
}
```
4.启动应用程序
在终端中运行以下命令启动应用程序:
```shell
mvn spring-boot:run
```
5.测试文件上传
使用Postman等工具向http://localhost:8080/upload发送POST请求,选择一个文件并发送请求。如果一切正常,文件将被上传到阿里云OSS中。
阅读全文