鹰眼android sdk支持上传、查询图像数据,可应用于车载监控设备、物流、外勤等需上传图像数据的场景:
1. 车载监控设备:如后视镜设备,定期上传行车影像
2. 物流:物流司机运输途中遇到拥堵、事故等异常情况时,需拍摄图片上报异常
3. 外勤:外勤人员通过在指定地点拍摄照片打卡
该功能包括三个接口:
1. 上传图片
2. 获取图片
3. 获取图片url,支持加水印
同一个 service 中,不同的图片文件是用 object_key 来唯一标识的。 每个图片文件的object_key 由开发者在上传图片时指定,因此开发者需自行保证其唯一性,例如:使用 entityname 加当前的时间戳来生成object_key。
putobject()方法用于上传图像,该方法使用示例:
// 请求标识int tag = 5;// 轨迹服务idlong serviceid = 0;// 图像文件的唯一标识。同一 service 下,不同的图像文件用objectkey来标识string objectkey = "track.jpg";// 对象类型bosobjecttype objecttype = bosobjecttype.image;//设置图片读取路径,鹰眼 sdk 将从所设置的本地路径读取该图片文件string path = "/storage/emulated/0/lbstrace/com.baidu.track/track.jpg";file file = new file(path);// 初始化监听器onboslistener mboslistener = new onboslistener() {// 上传对象(图片)回调@overridepublic void onputobjectcallback(bosputobjectresponse response) {}// 获取对象(图片)回调@overridepublic void ongetobjectcallback(bosgetobjectresponse response) {}// 生成签名对象(图片)url@overridepublic void ongeneratepresignedurlcallback(bosgeneratepresignedurlresponse response) {}};// 创建上传对象(图片)请求实例bosputobjectrequest request = bosputobjectrequest.buildfilerequest(tag, serviceid,objectkey, objecttype, file);// 请求上传对象(图片)mtraceclient.putobject(request, mboslistener);
getobject()方法用于获取图像文件,支持通过objectkey查询图像文件,该方法使用示例:
// 请求标识int tag = 6;// 轨迹服务idlong serviceid = 0;// 对象key(即文件名称包括后缀,如track.jpg、track.png)string objectkey = "track.jpg";// 对象类型bosobjecttype objecttype = bosobjecttype.image;// 创建获取对象(图片)请求实例bosgetobjectrequest request = new bosgetobjectrequest(tag,serviceid, objectkey, objecttype);// 初始化监听器onboslistener mboslistener = new onboslistener() {// 上传对象(图片)回调@overridepublic void onputobjectcallback(bosputobjectresponse response) {}// 获取对象(图片)回调@overridepublic void ongetobjectcallback(bosgetobjectresponse response) {}// 生成签名对象(图片)url// 请求获取对象(图片)mtraceclient.getobject(request, mboslistener);
getobject()generatepresigned方法用于生成访问指定图片的 url 链接,支持生成水印。
// 请求标识int tag = 7;// 轨迹服务idlong serviceid = 0;// 对象key(即文件名称包括后缀,如track.jpg、track.png)string objectkey = "track.jpg";// 对象类型bosobjecttype objecttype = bosobjecttype.image;// 创建请求实例bosgeneratepresignedurlrequest request = new bosgeneratepresignedurlrequest(tag, 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);// 初始化监听器onboslistener mboslistener = new onboslistener() {// 上传对象(图片)回调@overridepublic void onputobjectcallback(bosputobjectresponse response) {}// 获取对象(图片)回调@overridepublic void ongetobjectcallback(bosgetobjectresponse response) {}// 生成签名对象(图片)url@overridepublic void ongeneratepresignedurlcallback(bosgeneratepresignedurlresponse response) {}};// 请求生成签名对象(图片)urlmtraceclient.generatepresigned;
鹰眼 sdk 除提供图像存储服务外,在 track 的系统字段中新增了 object_name 字段,用于存储轨迹点对应的图像文件名。即支持在查询轨迹或实时位置时,查询轨迹点的图像文件(详见:轨迹点自定义属性数据上传)
上一篇
下一篇
本篇文章对您是否有帮助?