| | |
| | | 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; |
| | |
| | | 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); |
| | | } |
| | | |
| | | |
| | | /** |
| | | * 单文件上传 |
| | |
| | | } |
| | | 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); |
| | | } |
| | | |
| | | /** |
| | |
| | | public void onFinish(String url) { |
| | | |
| | | } |
| | | //单张上传成功 |
| | | public void onFinishWithSize(String url,Long size) { |
| | | |
| | | } |
| | | |
| | | //批量上传成功 |
| | | public void onFinish(ArrayList<String> urls) { |