全部产品

图片上传

本文对多媒体图片传的相关依赖和接口进行说明,并针对接口使用提供代码示例。

在接入图片上传功能之前,需申请并获得相应的 businessid:

  • 蚂蚁金服金融科技公有云环境下,需统一申请接入 businessid。更多内容,查看 准备接入
  • 专有云环境下,客户可自行分配和管理自己能够识别不同接入业务的 businessid。

相关依赖

  • bundle 依赖

    1. provided 'com.alipay.android.phone.mobilecommon:multimedia-build:1.16.8.170308165533:api@jar'
  • portal 依赖

    1. com.alipay.android.phone.mobilecommon.multimedia-build:1.16.8.170308165533
    2. com.alipay.android.phone.mobilecommon.multimediabiz-build:1.16.8.170310112308
    3. com.alipay.android.phone.mobilesdk.nbnet:1.1.0.170310162005
    4. com.alipay.android.phone.mobilesdk.transport-build:1.7.0.170310115210
    5. com.alipay.multimedia.base:basic-build:1.19.0.180510113439

接口

图片上传的相关接口如下:

  1. /**
  2. * 上传图片
  3. *
  4. * @param business 标识业务信息
  5. */
  6. public abstract APMultimediaTaskModel uploadImage(APImageUpRequest req,
  7. String business);

代码示例:

  1. MultimediaImageService imageService = AppUtils.getService(MultimediaImageService.class);
  2. APImageUpRequest request = new APImageUpRequest();
  3. request.setPublic = setPublic;//如果需要指定上传资源为 public,把 setPublic 置为 true
  4. request.path = path;
  5. request.callback = new APImageUploadCallback() {
  6. @Override
  7. public void onCompressSucc(Drawable drawable) {
  8. }
  9. @Override
  10. public void onStartUpload(APMultimediaTaskModel apMultimediaTaskModel) {
  11. }
  12. @Override
  13. public void onProcess(APMultimediaTaskModel apMultimediaTaskModel, int i) {
  14. }
  15. @Override
  16. public void onSuccess(final APImageUploadRsp apImageUploadRsp) {
  17. runOnUiThread(new Runnable() {
  18. @Override
  19. public void run() {
  20. Log.d(TAG, "id: " + apImageUploadRsp.getTaskStatus().getCloudId()
  21. + "\nurl:" + apImageUploadRsp.getPublicUrl());
  22. }
  23. });
  24. }
  25. @Override
  26. public void onError(APImageUploadRsp apImageUploadRsp, Exception e) {
  27. }
  28. };
  29. imageService.uploadImage(request, "apm-demo");