SpringBoot + oss implementa la carga de archivos

SpringBoot es un andamio de desarrollo rápido basado en el marco Spring, que simplifica enormemente la dificultad de usar el marco Spring. Alibaba Cloud OSS es un servicio de almacenamiento de objetos distribuidos proporcionado por Alibaba Cloud, que tiene las características de alta disponibilidad, alta confiabilidad y sólida seguridad. Los siguientes son varios pasos para implementar la carga de archivos usando SpringBoot + oss:

1. Introducir las dependencias del SDK de almacenamiento en la nube

<dependency>
    <groupId>com.aliyun.oss</groupId>
    <artifactId>aliyun-sdk-oss</artifactId>
    <version>2.9.3</version>
</dependency>

2. Configurar los parámetros de OSS

application.propertiesAgregue la siguiente configuración en :

oss.endpoint=oss-cn-hangzhou.aliyuncs.com
oss.accessKeyId=your_accessKeyId
oss.accessKeySecret=your_accessKeySecret
oss.bucketName=your_bucketName
oss.folder=your_folder

3. Crear cliente OSS

@Configuration
public class OSSClientConfig {
    
    

    @Value("${oss.endpoint}")
    private String endpoint;
    @Value("${oss.accessKeyId}")
    private String accessKeyId;
    @Value("${oss.accessKeySecret}")
    private String accessKeySecret;
    @Value("${oss.bucketName}")
    private String bucketName;
    @Value("${oss.folder}")
    private String folder;

    @Bean
    public OSSClient ossClient() {
    
    
        return new OSSClient(endpoint, accessKeyId, accessKeySecret);
    }

    @Bean
    public String bucketName() {
    
    
        return bucketName;
    }

    @Bean
    public String folder() {
    
    
        return folder;
    }
}

4. Escribe un servicio de carga de archivos.

@Service
public class FileUploadService {
    
    

    private final OSSClient ossClient;
    private final String bucketName;
    private final String folder;

    public FileUploadService(OSSClient ossClient, String bucketName, String folder) {
    
    
        this.ossClient = ossClient;
        this.bucketName = bucketName;
        this.folder = folder;
    }

    public String uploadFile(String fileName, InputStream inputStream) throws IOException {
    
    
        // 设置文件路径
        String key = folder + "/" + fileName;
        // 上传文件
        ossClient.putObject(bucketName, key, inputStream);
        // 关闭OSSClient
        ossClient.shutdown();
        // 返回文件链接
        return "https://" + bucketName + "." + ossClient.getEndpoint().toString() + "/" + key;
    }
}

5. Utilice el servicio de carga de archivos en Controller

@RestController
public class FileUploadController {
    
    

    private final FileUploadService fileUploadService;

    public FileUploadController(FileUploadService fileUploadService) {
    
    
        this.fileUploadService = fileUploadService;
    }

    @PostMapping("/upload")
    public String handleFileUpload(@RequestParam("file") MultipartFile file) throws IOException {
    
    
        return fileUploadService.uploadFile(file.getOriginalFilename(), file.getInputStream());
    }
}

Los anteriores son los pasos para implementar la carga de archivos usando SpringBoot + oss. A través de los pasos anteriores, la función de carga de archivos se puede implementar de manera conveniente y rápida.

Supongo que te gusta

Origin blog.csdn.net/qq_36151389/article/details/132857312
Recomendado
Clasificación