真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

AndroidR如何將圖片到上傳OSS

這篇文章將為大家詳細(xì)講解有關(guān)Android R如何將圖片到上傳OSS,文章內(nèi)容質(zhì)量較高,因此小編分享給大家做個(gè)參考,希望大家閱讀完這篇文章后對(duì)相關(guān)知識(shí)有一定的了解。

成都創(chuàng)新互聯(lián)公司長(zhǎng)期為千余家客戶(hù)提供的網(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è)提供專(zhuān)業(yè)的成都做網(wǎng)站、網(wǎng)站建設(shè),建平網(wǎng)站改版等技術(shù)服務(wù)。擁有十多年豐富建站經(jīng)驗(yàn)和眾多成功案例,為您定制開(kāi)發(fā)。

首先先初始化oss對(duì)象

        // ACCESS_ID,ACCESS_KEY是在[阿里云](https://l.gushuji.site/aliyun)申請(qǐng)的        OSSCredentialProvider credentialProvider = new OSSPlainTextAKSKCredentialProvider(ACCESS_ID, ACCESS_KEY);        ClientConfiguration conf = new ClientConfiguration();        conf.setConnectionTimeout(15 * 1000); // 連接超時(shí),默認(rèn)15秒        conf.setSocketTimeout(15 * 1000); // socket超時(shí),默認(rèn)15秒        conf.setMaxConcurrentRequest(8); // 最大并發(fā)請(qǐng)求數(shù),默認(rèn)5個(gè)        conf.setMaxErrorRetry(2); // 失敗后最大重試次數(shù),默認(rèn)2次         // oss為全局變量,OSS_ENDPOINT是一個(gè)OSS區(qū)域地址        oss = new OSSClient(getApplicationContext(), OSS_ENDPOINT, credentialProvider, conf);

oss上傳圖片分為同步和異步 

同步的方法

// 構(gòu)造上傳請(qǐng)求PutObjectRequest put = new PutObjectRequest("", "", "");// 文件元信息的設(shè)置是可選的// ObjectMetadata metadata = new ObjectMetadata();// metadata.setContentType("application/octet-stream"); // 設(shè)置content-type// metadata.setContentMD5(BinaryUtil.calculateBase64Md5(uploadFilePath)); // 校驗(yàn)MD5// put.setMetadata(metadata);try {    PutObjectResult putResult = oss.putObject(put);    Log.d("PutObject", "UploadSuccess");    Log.d("ETag", putResult.getETag());    Log.d("RequestId", putResult.getRequestId());} catch (ClientException e) {    // 本地異常如網(wǎng)絡(luò)異常等    e.printStackTrace();} catch (ServiceException e) {    // 服務(wù)異常    Log.e("RequestId", e.getRequestId());    Log.e("ErrorCode", e.getErrorCode());    Log.e("HostId", e.getHostId());    Log.e("RawMessage", e.getRawMessage());}

此處這個(gè)bucketName是在阿里云平臺(tái)上配置的 用來(lái)儲(chǔ)存文件 可以設(shè)置私有公有等屬性 

objectKey為文件的名字 用來(lái)從平臺(tái)上查詢(xún)圖片

FilePath為所選文件的uri路徑

異步上傳的方法

// 構(gòu)造上傳請(qǐng)求PutObjectRequest put = new PutObjectRequest("", "", "");// 異步上傳時(shí)可以設(shè)置進(jìn)度回調(diào)put.setProgressCallback(new OSSProgressCallback() {    @Override    public void onProgress(PutObjectRequest request, long currentSize, long totalSize) {        Log.d("PutObject", "currentSize: " + currentSize + " totalSize: " + totalSize);    }});OSSAsyncTask task = oss.asyncPutObject(put, new OSSCompletedCallback() {    @Override    public void onSuccess(PutObjectRequest request, PutObjectResult result) {        Log.d("PutObject", "UploadSuccess");        Log.d("ETag", result.getETag());        Log.d("RequestId", result.getRequestId());    }    @Override    public void onFailure(PutObjectRequest request, ClientException clientExcepion, ServiceException serviceException) {        // 請(qǐng)求異常        if (clientExcepion != null) {            // 本地異常如網(wǎng)絡(luò)異常等            clientExcepion.printStackTrace();        }        if (serviceException != null) {            // 服務(wù)異常            Log.e("ErrorCode", serviceException.getErrorCode());            Log.e("RequestId", serviceException.getRequestId());            Log.e("HostId", serviceException.getHostId());            Log.e("RawMessage", serviceException.getRawMessage());        }    }});// task.cancel(); // 可以取消任務(wù)// task.waitUntilFinished(); // 可以等待任務(wù)完成

一般上傳成功時(shí)候 客戶(hù)端需要把文件的objectkey傳給后臺(tái) 后臺(tái)通過(guò)拼接然后把圖片的url返回給我們

關(guān)于Android R如何將圖片到上傳OSS就分享到這里了,希望以上內(nèi)容可以對(duì)大家有一定的幫助,可以學(xué)到更多知識(shí)。如果覺(jué)得文章不錯(cuò),可以把它分享出去讓更多的人看到。


本文題目:AndroidR如何將圖片到上傳OSS
當(dāng)前URL:http://weahome.cn/article/jeocje.html

其他資訊

在線咨詢(xún)

微信咨詢(xún)

電話咨詢(xún)

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部