All Downloads are FREE. Search and download functionalities are using the official Maven repository.

com.admin4j.oss.UploadFileService Maven / Gradle / Ivy

Go to download

封装基于Amazon S3的OSS对象存储服务。在SpringBoot 中通过封装,简单地方式将文件存储到 MinIO、阿里云OSS、华为云OBS、七牛云Kodo、腾讯云COS等支持 S3 协议的平台

There is a newer version: 0.10.0
Show newest version
package com.admin4j.oss;

import com.admin4j.oss.entity.vo.UploadFileVO;
import org.springframework.web.multipart.MultipartFile;

import java.io.IOException;
import java.io.InputStream;

/**
 * 上传文件
 *
 * @author andanyang
 * @since 2023/4/14 9:14
 */
public interface UploadFileService {

    /**
     * 上传文件
     *
     * @param file 文件
     * @param path 路径
     */
    UploadFileVO upload(String path, MultipartFile file) throws IOException;

    /**
     * 上传文件
     *
     * @param key 指定路径
     * @param is  InputStream
     */
    UploadFileVO upload(String key, InputStream is) throws IOException;

    /**
     * 上传文件
     *
     * @param key              指定路径(key)
     * @param originalFilename 文件原始名称
     * @param contentType      文件类型
     * @param is               上传流
     * @return
     * @throws IOException
     */
    UploadFileVO upload(String key, String originalFilename, String contentType, InputStream is) throws IOException;

    /**
     * 上传文件
     *
     * @param uploadFileVO 文件描述
     * @param is
     * @return
     * @throws IOException
     */
    UploadFileVO upload(UploadFileVO uploadFileVO, InputStream is) throws IOException;

    /**
     * 文件阅览路径
     *
     * @param key oss key
     * @return 文件阅览路径
     */
    String getPreviewUrl(String key);

    /**
     * 文件内网阅览路径
     *
     * @param key oss key
     * @return 文件阅览路径
     */
    String getPreviewIntranetUrl(String key);

    /**
     * 通过OSS直接查看文件预览路径
     * 获取私有链接
     *
     * @param key     oss key
     * @param expires 私有链接有效秒数
     * @return 文件阅览路径
     */
    String getPrivateUrl(String key, Integer expires);

    /**
     * 删除文件
     *
     * @param key 文件可以
     */
    void delete(String key);
}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy