阿里雲OSS上傳檔案工具類

2021-07-27 10:04:16 字數 4484 閱讀 8990

/**   

*  * 

*   阿里雲oss上傳檔案工具

*  *   支援普通檔案上傳,限制大小檔案上傳,限制大小上傳

*   

*   @version1.0

*/public class aliyunossutil 】。 \n"

+ "訪問access_key:【{}】。   \n"

+ "訪問秘鑰access_key_secret:【{}】。  \n"

+ "oss儲存空間bucketname:【{}】",endpoint,access_key_id,access_key_secret,bucketname);

} catch (exception e)

// 初始化乙個ossclient

ossclient = new ossclient(endpoint,access_key_id, access_key_secret);

}    

/***  判斷bucket儲存空間是否已建立

*  若未建立,先建立乙個bucket

*/public void ensurebucket() throws os***ception, clientexception ",aliyunossutil.bucketname);

ossclient.createbucket(aliyunossutil.bucketname);

}}catch(serviceexception e)

}/**

*  上傳檔案到oss伺服器  

*  如果同名檔案會覆蓋伺服器上的

** @param commonsmultipartfile file 上傳檔案

* @param string dirname 檔案目錄名稱  (在oss中不存在目錄一說,只是用於形象的區分檔案種類) 

* @param string filename 檔名

* @return mapmap 

*  stauts :true 上傳成功   。 false  上傳失敗

*  msg :成功,返回檔案路徑。失敗,返回失敗資訊

*/public mapuploadfileoss(commonsmultipartfile file,string dirname,string filename)

try ",ret);

} catch (ioexception e) catch (exception e)  finally

if(ossclient != null)

} catch (ioexception e)

}if(!"".equals(ret) && ret!=null)else

}/**

*  *  上傳檔案到oss伺服器  

*  如果同名檔案會覆蓋伺服器上已存在檔案

* * @param commonsmultipartfile file  上傳檔案

* @param string dirname 檔案目錄名稱  (在oss中不存在目錄一說,只是用於形象的區分檔案種類) 

* @param string filename   檔名

* @param int limitsize     上傳大小

* @return mapmap 

*  stauts :true 上傳成功   。 false  上傳失敗

*  msg :成功,返回檔案路徑。失敗,返回失敗資訊

* */

public mapuploadlimitsizeoss(commonsmultipartfile file,

string dirname, string filename, int limitsize)

long limitsizebytes = limitsize * 1024 * 1024;// 把單位m轉換為bytes

if (file.getsize() > limitsizebytes)

return this.uploadfileoss(file, dirname, filename);

}/**

*  *  上傳到到oss伺服器

*  如果同名檔案會覆蓋伺服器上已存在檔案

* * @param commonsmultipartfile file  上傳檔案

* @param string dirname 檔案目錄名稱  (在oss中不存在目錄一說,只是用於形象的區分檔案種類) 

* @param string filename   檔名

* @param int limitsize     上傳大小

* @return mapmap 

*  stauts :true 上傳成功   。 false  上傳失敗

*  msg :成功,返回檔案路徑。失敗,返回失敗資訊

*/public mapimguploadlimitsizeoss(commonsmultipartfile file,

string dirname, string filename, int limitsize)

if (!imageutil.fileisimage(file))

long limitsizebytes = limitsize * 1024 * 1024;// 把單位m轉換為bytes

if (file.getsize() > limitsizebytes)

return this.uploadfileoss(file, dirname, filename);

}/**

* 判斷oss服務檔案上傳時檔案的contenttype

** @param commonsmultipartfile file 上傳檔案

* @param filenameextension 檔案字尾

}/**     *  銷毀阿里雲oss客戶端物件 

*/public void destory()

/*** 獲取阿里雲遠端oss指定檔案.並轉為輸出流

* * @param string ossprefix  訪問阿里雲oss檔案路徑 (

* @param string fileurl 檔案儲存路徑 (如:upload/a.png)

* @param outputstream oputstream  輸出流

* @throws ioexception 

*/public static void downfile(string ossprefix,string fileurl,outputstream oputstream) throws ioexception

oputstream.flush();

} catch (exception e) finally}}

}

阿里雲oss 檔案上傳

寫在前面 阿里雲oss的各種sdk,都是對它的api進行的封裝。所以如果我們直接呼叫api時出錯,卻又不知道 出問題時,可以直接閱讀sdk的原始碼,找到問題所在。首先貼一下阿里雲oss官網貼出的簽名計算方式 authorization oss accesskeyid signature signat...

阿里雲OSS 上傳檔案

阿里雲後台管理 api 整合教程 key 網域名稱的查詢 1 檢視上傳的檔案在哪?a 阿里雲,進入官網。然後進入管理控制台 b 左側選單欄,進入物件儲存 oss c 進入 bucket 管理頁面,點選建立的bucket 名稱 d 進入bucket 管理介面,點選左側選單 bucket屬性 選單檢視b...

阿里雲OSS上傳

這種方式相當於自動上傳,可以參考antd官網的給的例子 首先,後端會提供乙個介面,會返回一些上傳到oss需要的類似配置引數 下面的是我們後端同學給返回的引數 1 accessid,對應ossaccesskeyd 2 policy 3 signature 4 host,oss的上傳位址 下面是請求上傳...