“對象存儲”或“基于對象的存儲”一詞是由它的名稱派生出來的,因為它將數(shù)據(jù)和元數(shù)據(jù)封裝到對象中。元數(shù)據(jù)本質(zhì)上是描述其他數(shù)據(jù)的數(shù)據(jù),或者在基于對象的存儲的情況下,是關于通常存儲在對象內(nèi)的文件的信息。
成都創(chuàng)新互聯(lián)公司堅持“要么做到,要么別承諾”的工作理念,服務領域包括:成都網(wǎng)站設計、成都做網(wǎng)站、企業(yè)官網(wǎng)、英文網(wǎng)站、手機端網(wǎng)站、網(wǎng)站推廣等服務,滿足客戶于互聯(lián)網(wǎng)時代的文峰網(wǎng)站設計、移動媒體設計的需求,幫助企業(yè)找到有效的互聯(lián)網(wǎng)解決方案。努力成為您成熟可靠的網(wǎng)絡建設合作伙伴!
對象存儲在平面結(jié)構(gòu)或地址空間中。每個對象都分配一個對象ID或唯一標識符,使它們可以從單個存儲庫或存儲池中檢索。企業(yè)非常重視這種方法,因為它提供了更大的靈活性,可以將數(shù)據(jù)放置在基于數(shù)據(jù)塊和文件的存儲解決方案之外。
杉巖海量對象存儲針對海量非結(jié)構(gòu)化數(shù)據(jù)存儲的最優(yōu)解決方案,采用去中心化、分布式技術(shù)架構(gòu)、支持百億級文件及EB級容量存儲,具備高效的數(shù)據(jù)檢索、智能標簽和分析能力,輕松應對大數(shù)據(jù)和云時代的存儲挑戰(zhàn),為企業(yè)發(fā)展提供智能決策!
前段時間正好做個項目,就是用的oss,普通上傳和斷點續(xù)傳,代碼貼出來,看是不是你需要的public class OssManage {public static String ACCESS_KEY_ID = null;public static String ACCESS_KEY_SECRET = null;public static String ENDPOINT = null;public static String BUCKETNAME = null;public static String BUCKETNAME_VIDEO = null;public static String OUT_OF_DATE = null;private OSSClient client = null;private ObjectMetadata meta = null;static{try {ACCESS_KEY_ID = SysConst.getProperty("OSS_ACCESS_KEY_ID");ACCESS_KEY_SECRET = SysConst.getProperty("OSS_ACCESS_KEY_SECRET");ENDPOINT = SysConst.getProperty("OSS_ENDPOINT"); BUCKETNAME = SysConst.getProperty("OSS_BUCKETNAME"); BUCKETNAME_VIDEO = SysConst.getProperty("OSS_BUCKETNAME_VIDEO"); OUT_OF_DATE = SysConst.getProperty("OSS_OUT_OF_DATE");} catch (java.lang.Exception e) {e.printStackTrace();}}public void init(){ // 初始化一個OSSClient client = new OSSClient(ENDPOINT,ACCESS_KEY_ID, ACCESS_KEY_SECRET); meta = new ObjectMetadata();}/** * @Description: 上傳文件到OSS文件服務器 * @param content 文件流 * @param key 上傳為OSS文件服務器的唯一標識 * @param mimeType 文檔類型 * @throws Exception * @ReturnType:String OSSObject的ETag值。*/public String uploadFile(InputStream content,String key,String mimeType) throws Exception{//進行初始化init(); // 必須設置ContentLength meta.setContentType(mimeType); // 上傳Object. LogUtil.printConsoleLog("*****************上傳圖片到oss服務器開始*****************" + key); PutObjectResult result = client.putObject(BUCKETNAME, key, content, meta); LogUtil.printConsoleLog("*****************上傳圖片到oss服務器結(jié)束*****************" + key); return result.getETag();}/** * @Description: 根據(jù)key獲取oss服務器上的圖片地址 * @param key * @return * @ReturnType:String*/public String getImgURl(String key){init();Date expires = new Date (new Date().getTime() + Integer.parseInt(OUT_OF_DATE)); // 30 minute to expireGeneratePresignedUrlRequest generatePresignedUrlRequest ;if(key.startsWith("msplatform")){generatePresignedUrlRequest =new GeneratePresignedUrlRequest(BUCKETNAME, key);}else {generatePresignedUrlRequest =new GeneratePresignedUrlRequest(BUCKETNAME_VIDEO, key);}generatePresignedUrlRequest.setExpiration(expires);URL url = client.generatePresignedUrl(generatePresignedUrlRequest);return url.toString();}/** * @Description:根據(jù)key獲取oss服務器上的ipa文件地址 * @param key * @return * @ReturnType:String */public String getIpaURl(String key){init();Date expires = new Date(new Date().getTime()+ 10*365*24*3600*1000);GeneratePresignedUrlRequest generatePresignedUrlRequest ;if(key.startsWith("msplatform")){generatePresignedUrlRequest =new GeneratePresignedUrlRequest(BUCKETNAME, key);}else {generatePresignedUrlRequest =new GeneratePresignedUrlRequest(BUCKETNAME_VIDEO, key);}generatePresignedUrlRequest.setExpiration(expires);URL url = client.generatePresignedUrl(generatePresignedUrlRequest);return url.toString();}/** * @Description: 根據(jù)key獲取oss服務器上的圖片地址 * @param key * @return * @ReturnType:String*/public InputStream getObject(String key){init();OSSObject object = null;if(key.startsWith("msplatform")){object= client.getObject(BUCKETNAME, key);}else{object= client.getObject(BUCKETNAME_VIDEO, key);}object.getObjectMetadata().getContentType();// 獲取Object的輸入流InputStream objectContent = object.getObjectContent();return objectContent;}/** * @Description:刪除文件 * @param key OSS文件服務器上文件的唯一標識 * @ReturnType:void*/public void deleteFile(String key){init();client.deleteObject(BUCKETNAME, key);}/** * @Description: 斷點上傳文件到OSS文件服務器 * @param content 文件流 * @param key 上傳為OSS文件服務器的唯一標識 * @param position 位置*/public String appendObjectFile(InputStream content,String key,int position,String mimeType) throws Exception{ //進行初始化 init(); // 必須設置ContentLength meta.setContentLength(position); meta.setContentType(mimeType); meta.setCacheControl("no-cache"); meta.setContentEncoding("utf-8"); // 上傳 LogUtil.printConsoleLog("*****************斷點上傳圖片到oss服務器開始*****************" + key); AppendObjectRequest appendObjectRequest = new AppendObjectRequest(BUCKETNAME, key, content, meta); appendObjectRequest.setPosition(Long.valueOf(position)); AppendObjectResult appendObjectResult =client.appendObject(appendObjectRequest); LogUtil.printConsoleLog("*****************斷點上傳圖片到oss服務器結(jié)束*****************" + key); return appendObjectResult.getNextPosition().toString();}public static void main(String[] args) {OssManage ossManage = new OssManage();}}
oss 也叫對象存儲,用來存放圖片,css、視頻等靜態(tài)文件??梢宰鳛榫W(wǎng)站、app等web應用的:附件服務器、頭像服務器、圖片服務器、下載服務器。
每家叫法不一樣,阿里云叫oss,騰訊云叫cos,其實都是一個東西。老魏為此寫過云服務器oss建站等多篇教程,看完有疑問可以問,在線了就回答。