springboot實(shí)現(xiàn)oos上傳下載-創(chuàng)新互聯(lián)

簡(jiǎn)介

OSS對(duì)象存儲(chǔ)
??阿里云對(duì)象存儲(chǔ)服務(wù)(Object Storage Service,簡(jiǎn)稱 OSS),是阿里云提供的海量、安全、低成本、高可靠的云存儲(chǔ)服務(wù)。OSS可用于圖片、音視頻、日志等海量文件的存儲(chǔ)。各種終端設(shè)備、Web網(wǎng)站程序、移動(dòng)應(yīng)用可以直接向OSS寫(xiě)入或讀取數(shù)據(jù)。

創(chuàng)新互聯(lián)長(zhǎng)期為成百上千家客戶提供的網(wǎng)站建設(shè)服務(wù),團(tuán)隊(duì)從業(yè)經(jīng)驗(yàn)10年,關(guān)注不同地域、不同群體,并針對(duì)不同對(duì)象提供差異化的產(chǎn)品和服務(wù);打造開(kāi)放共贏平臺(tái),與合作伙伴共同營(yíng)造健康的互聯(lián)網(wǎng)生態(tài)環(huán)境。為青浦企業(yè)提供專業(yè)的網(wǎng)站設(shè)計(jì)、網(wǎng)站制作,青浦網(wǎng)站改版等技術(shù)服務(wù)。擁有10年豐富建站經(jīng)驗(yàn)和眾多成功案例,為您定制開(kāi)發(fā)。阿里云后臺(tái)操作步驟

1.開(kāi)通OSS服務(wù)

2.進(jìn)入控制臺(tái)

3.創(chuàng)建 Bucket

4.新建文件夾(存放文件)

5.創(chuàng)建完成后,在右上角頭像欄找到AccessKey管理

6.點(diǎn)擊 創(chuàng)建AccessKey,身份驗(yàn)證后,即可獲取到KeyId和KeySercret

實(shí)現(xiàn) 1.引入oos依賴
com.aliyun.ossaliyun-sdk-oss2.8.3
2.yml文件以及oss配置信息

application.yml

server:
  port: 8081

mybatis:
  type-aliases-package: com.wjj.springbootoos.pojo
  configuration:
    log-impl: org.apache.ibatis.logging.stdout.StdOutImpl
  mapper-locations: classpath:/mapper/*.xml



spring: #springboot的配置
  datasource: #定義數(shù)據(jù)源
    #127.0.0.1為本機(jī)測(cè)試的ip,3306是mysql的端口號(hào)。serverTimezone是定義時(shí)區(qū),照抄就好,mysql高版本需要定義這些東西
    #useSSL也是某些高版本mysql需要問(wèn)有沒(méi)有用SSL連接
    url: jdbc:mysql://localhost:3306/oos?serverTimezone=UTC
    username: root  #數(shù)據(jù)庫(kù)用戶名,root為管理員
    password: root #該數(shù)據(jù)庫(kù)用戶的密碼mysql.session

application-aliyun-oos.properties

aliyun.endPoint=oss-cn-hangzhou.aliyuncs.com

aliyun.urlPrefix=junkai1.oss-cn-hangzhou.aliyuncs.com

aliyun.accessKeyId=LTAI5tPP4FLVrM92oSZxtWV6

aliyun.accessKeuSecrect=cxLRwCyr0z2QYKYvaDDPMLMDEYMLLP

aliyun.bucketName=junkai1

aliyun.fileHost=ketai

spring.servlet.multipart.max-file-size=100MB
spring.servlet.multipart.max-request-size=200MB

這里需要填入直接的,可通過(guò)上面的AccessKey管理進(jìn)入找到相對(duì)應(yīng)的填入即可

config

AliyunOssConfig

封裝對(duì)應(yīng)屬性?

service接口

實(shí)現(xiàn)類 上傳
@Autowired
    private OSS client;
    @Autowired
    private fileMapper mapper;
    @Autowired
    private AliyunOssConfig aliyunOssConfig;
    //共有屬性代碼 允許上傳圖片的格式
    private static final String[] IMAGE_TYPE =new String[]{
            ".bmp",".jpg",".jpeg",".gif",".png"
    };
    @Override
    public String upload(MultipartFile multipartFile) {
        //獲取基本信息
        String endpoint=aliyunOssConfig.getEndPoint();
        String bucketName=aliyunOssConfig.getBucketName();
        String accesKeyId=aliyunOssConfig.getAccessKeyId();
        String accessKeuSecret=aliyunOssConfig.getAccessKeuSecrect();
        String fileHost=aliyunOssConfig.getFileHost();

        //校驗(yàn)格式
        boolean isLegal=false;
        for (String type:IMAGE_TYPE){
            if (StringUtils.endsWithIgnoreCase(multipartFile.getOriginalFilename(),type)){
                isLegal=true;
                break;
            }
        }
        if (isLegal==false){
            return StatusCode.ERROR.getMsg();
        }
        //1.獲取文件名稱
        String orName=multipartFile.getOriginalFilename();
        //2.獲取文件的類型
        String fileType=orName.substring(orName.lastIndexOf("."));
        //3.新名稱
        String newFileName= UUID.randomUUID().toString()+fileType;
        System.out.println(newFileName);
        //4.構(gòu)建文件上傳路徑
        String filePath=new SimpleDateFormat("yyyy/MM/dd").format(new Date());
        //5.文件上傳的路徑
        String uploadUrl=fileHost+"/"+filePath+"/"+newFileName;
        System.out.println(uploadUrl);
        System.out.println(filePath);
        //6.開(kāi)始上傳
        InputStream inputStream=null;
        try {
            inputStream=multipartFile.getInputStream();
        } catch (IOException e) {
            e.printStackTrace();
        }

        ObjectMetadata meta=new ObjectMetadata();
        meta.setContentType("image/jpg");

        //上傳阿里云
        client.putObject(bucketName,uploadUrl,inputStream,meta);

        mapper.add(newFileName,uploadUrl);
        return "http://"+bucketName+"."+endpoint+"/"+uploadUrl;
    }
刪除

controller層

下載?
下載

下載只需將圖片路徑封裝打a標(biāo)簽即可

你是否還在尋找穩(wěn)定的海外服務(wù)器提供商?創(chuàng)新互聯(lián)www.cdcxhl.cn海外機(jī)房具備T級(jí)流量清洗系統(tǒng)配攻擊溯源,準(zhǔn)確流量調(diào)度確保服務(wù)器高可用性,企業(yè)級(jí)服務(wù)器適合批量采購(gòu),新人活動(dòng)首月15元起,快前往官網(wǎng)查看詳情吧

文章名稱:springboot實(shí)現(xiàn)oos上傳下載-創(chuàng)新互聯(lián)
文章路徑:http://bm7419.com/article6/cecpig.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供App設(shè)計(jì)、靜態(tài)網(wǎng)站、App開(kāi)發(fā)、關(guān)鍵詞優(yōu)化、商城網(wǎng)站、營(yíng)銷型網(wǎng)站建設(shè)

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)

營(yíng)銷型網(wǎng)站建設(shè)