From 524abed53193c67683a363ce0f12fe4aa98323a0 Mon Sep 17 00:00:00 2001 From: lmw <125975490@qq.com> Date: 星期二, 28 五月 2024 15:28:55 +0800 Subject: [PATCH] 行程录音,接送机 --- app/src/main/java/com/future/driver/utils/OSSUtil.java | 66 +++++++++++++++++++++++++++++++++ 1 files changed, 66 insertions(+), 0 deletions(-) diff --git a/app/src/main/java/com/future/driver/utils/OSSUtil.java b/app/src/main/java/com/future/driver/utils/OSSUtil.java index 257748c..b320a6c 100644 --- a/app/src/main/java/com/future/driver/utils/OSSUtil.java +++ b/app/src/main/java/com/future/driver/utils/OSSUtil.java @@ -15,6 +15,7 @@ import com.alibaba.sdk.android.oss.internal.OSSAsyncTask; import com.alibaba.sdk.android.oss.model.PutObjectRequest; import com.alibaba.sdk.android.oss.model.PutObjectResult; +import com.future.driver.base.MyApplication; import java.io.File; import java.util.ArrayList; @@ -122,6 +123,56 @@ mTasks.add(task); } + private void uploadVoice(final String url, final OSSUploadCallBack callBack) { + String recordOrderId = MyApplication.Companion.getRecordOrderId(); + String recordOrderType = MyApplication.Companion.getRecordOrderType(); + final String objectKey = "driver/record/" +recordOrderType+"_"+recordOrderId+"_"+url.substring(url.lastIndexOf("/")+1); + PutObjectRequest put = new PutObjectRequest(bucketName, objectKey, url); + put.setProgressCallback(new OSSProgressCallback<PutObjectRequest>() { + long temp = 0; + @Override + public void onProgress(PutObjectRequest request, long currentSize, long totalSize) { + CURRENT_SIZE += currentSize - temp; + temp = currentSize; + callBack.onSizeProgress(CURRENT_SIZE, TOTAL_SIZE); + } + }); + + OSSAsyncTask<PutObjectResult> task = mOss.asyncPutObject(put, new OSSCompletedCallback<PutObjectRequest, PutObjectResult>() { + @Override + public void onSuccess(PutObjectRequest request, PutObjectResult result) { + mActivity.runOnUiThread(new Runnable() { + @Override + public void run() { + URLs.add(mOss.presignPublicObjectURL(bucketName, objectKey)); + callBack.onFinishWithSize(URLs.get(0),CURRENT_SIZE); + mTasks.clear(); + } + }); + + } + + + @Override + public void onFailure(PutObjectRequest request, ClientException + clientException, ServiceException serviceException) { + // 请求异常 + if (clientException != null) { + clientException.printStackTrace(); + // 本地异常如网络异常等 + callBack.onFial("网络异常"); + } + if (serviceException != null) { + serviceException.printStackTrace(); + // 服务异常 + callBack.onFial("服务器异常"); + } + + } + }); + mTasks.add(task); + } + /** * 单文件上传 @@ -137,6 +188,17 @@ } TOTAL_COUNT = single.size(); upload(single, true, callBack); + } + + + /** + * 单文件上传 + * + * @param url the url + * @param callBack the call back + */ + public void uploadSingleWithSize(String url, OSSUploadCallBack callBack) { + uploadVoice(url, callBack); } /** @@ -158,6 +220,10 @@ public void onFinish(String url) { } + //单张上传成功 + public void onFinishWithSize(String url,Long size) { + + } //批量上传成功 public void onFinish(ArrayList<String> urls) { -- Gitblit v1.7.1