SpringBoot + oss implémente le téléchargement de fichiers

SpringBoot est un échafaudage de développement rapide basé sur le framework Spring, ce qui simplifie grandement la difficulté d'utilisation du framework Spring. Alibaba Cloud OSS est un service de stockage d'objets distribué fourni par Alibaba Cloud, qui présente les caractéristiques d'une haute disponibilité, d'une haute fiabilité et d'une sécurité renforcée. Voici plusieurs étapes pour implémenter le téléchargement de fichiers à l'aide de SpringBoot + oss :

1. Introduire les dépendances du SDK de stockage cloud

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

2. Configurer les paramètres OSS

application.propertiesAjoutez la configuration suivante dans :

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

3. Créer un client 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. Écrivez un service de téléchargement de fichiers

@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. Utilisez le service de téléchargement de fichiers dans 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());
    }
}

Voici les étapes pour implémenter le téléchargement de fichiers à l'aide de SpringBoot + oss. Grâce aux étapes ci-dessus, la fonction de téléchargement de fichiers peut être implémentée de manière pratique et rapide.

Je suppose que tu aimes

Origine blog.csdn.net/qq_36151389/article/details/132857312
conseillé
Classement