浏览器版本低!无法浏览完整内容,建议升级或更换浏览器。

文档全面上新

更科技的视觉体验,更高效的页面结构,快前往体验吧!

体验新版
图片上传
Android
https://mapopen-website-wiki.cdn.bcebos.com/demos/andDemos/yingyan/图片服务.mp4
1590746640|//mapopen-website-wiki.bj.bcebos.com/demos/andDemos/yingyan/android-preview.png
扫码体验
使用产品
图片服务|/index.php?title=android-yingyan/guide/object
下载源码
//mapopen-website-wiki.bj.bcebos.com/demos/andDemos/yingyan/BaiduTrace_AndroidSDK_v3_1_8_Sample_demo.zip
核心接口
接口
描述
LBSTraceClient
putObject(BosPutObjectRequest request, OnBosListener listener)
上传对象
LBSTraceClient
getObject(BosGetObjectRequest request, OnBosListener listener)
获取对象
LBSTraceClient
generatePresignedUrl(BosGeneratePresignedUrlRequest request, OnBosListener listener)
获取对象的URL
BosPutObjectRequest
buildFileRequest(int tag, long serviceId, String objectKey, BosObjectType objectType, File file)
构造上传文件类型的请求实例
重点关注
1)、 注:鹰眼 Android SDK v3.0以上版本支持随轨迹上传图像等对象数据,若需使用此功能,该参数需设为 true,且需导入bos-android-sdk-1.0.2.jar。
// 是否需要对象存储服务,默认为:false,关闭对象存储服务。
boolean isNeedObjectStorage = true;
// 初始化轨迹服务
Trace mTrace = new Trace(serviceId, entityName, isNeedObjectStorage);
核心代码
1.开启对象储存服务
JAVA
// 是否需要对象存储服务,默认为:false,关闭对象存储服务。
boolean isNeedObjectStorage = true;
// 初始化轨迹服务
Trace mTrace = new Trace(serviceId, entityName, isNeedObjectStorage);

mClient.startTrace(mTrace, traceListener);
                
复制
深色
复制成功
2.上传图片
JAVA
/**
* 上传图片
* @param path
*/
private void putObject(String path) {
    // 对象key(即文件名称包括后缀,如track.jpg、track.png)
    String[] paths = path.split("/");
    objectKey = paths[paths.length - 1];
    // 对象类型
    BosObjectType objectType = BosObjectType.image;
    try {
        // 通过文件形式上传
        File file = new File(path);
        BosPutObjectRequest request = BosPutObjectRequest.buildFileRequest(trackApp.getTag(), trackApp.serviceId,
                objectKey, objectType, file);
        if (trackApp.isTraceStarted) {
            trackApp.mClient.putObject(request, bosListener);
        } else {
            viewUtil.showToast(this, "请在轨迹追踪页面开启对象存储并开启鹰眼服务");
        }

    } catch (Exception e) {
        e.printStackTrace();
    }
}
               
                
复制
深色
复制成功
3.获取图片
JAVA
/**
* 获取对象(图片)
*
* @param view
*/
public void onGetObject(View view) {
    // 对象类型
    BosObjectType objectType = BosObjectType.image;
    BosGetObjectRequest request = new BosGetObjectRequest(trackApp.getTag(), trackApp.serviceId, objectKey,
            objectType);
    trackApp.mClient.getObject(request, bosListener);
}

               
                
复制
深色
复制成功
4.获取图片URL
JAVA
/**
* 获取对象(图片)URL
*
* @param view
*/
public void onGeneratePresignedUrl(View view) {
    // 对象类型
    BosObjectType objectType = BosObjectType.image;

    BosGeneratePresignedUrlRequest request = new BosGeneratePresignedUrlRequest(trackApp.getTag(),
            trackApp.serviceId, objectKey, objectType);

    // 图片处理命令
    ImageProcessCommand imageProcessCommand = new ImageProcessCommand();
    imageProcessCommand.setAngle(180);
    request.setImageProcessCommand(imageProcessCommand);

    // 文字水印命令
    TextWatermarkCommand textWatermarkCommand = new TextWatermarkCommand();
    textWatermarkCommand.setText("百度鹰眼");
    textWatermarkCommand.setFontFamily(FontFamily.KaiTi);
    textWatermarkCommand.setAngle(45);
    textWatermarkCommand.setFontColor("0000FF");
    request.setTextWatermarkCommand(textWatermarkCommand);

    trackApp.mClient.generatePresignedUrl(request, bosListener);
}
               
               
                
复制
深色
复制成功
5.监听状态
JAVA
bosListener = new OnBosListener() {
    @Override
    public void onPutObjectCallback(BosPutObjectResponse response) {
        viewUtil.showToast(BosActivity.this, response.getMessage());
    }

    @Override
    public void onGetObjectCallback(final BosGetObjectResponse response) {
        if (response.getStatus()!= StatusCodes.SUCCESS) {
            viewUtil.showToast(BosActivity.this, response.getMessage());
            return;
        }
        viewUtil.showToast(BosActivity.this, getString(R.string.save_picture));
        new Thread() {
            @Override
            public void run() {
                saveObject(response);
            }
        }.start();
    }

    @Override
    public void onGeneratePresignedUrlCallback(BosGeneratePresignedUrlResponse response) {
        if (response.getStatus()!= StatusCodes.SUCCESS) {
            viewUtil.showToast(BosActivity.this, response.getMessage());
            return;
        }
        // 获取Object的URL
        Uri uri = Uri.parse(response.getUrl());
        Intent intent = new Intent(Intent.ACTION_VIEW, uri);
        intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
        // 执行URL
        BosActivity.this.startActivity(intent);
    }
};
                          
                
复制
深色
复制成功
  • 文档根本没法用

  • 文档水平很差

  • 文档水平一般

  • 文档不错

  • 文档写的很好

如发现文档错误,或对此文档有更好的建议,请在下方反馈。问题咨询请前往反馈平台提交工单咨询。

提交反馈

拖动标注工具

添加矩形标注

添加箭头标注

完成

取消