币游国际平台

Android图像视频上传

最新更新日期:Dec-25-2023

云化支持直接从移动应用上传媒体到云化产品环境,不先浏览服务器这种方法允许更快上传并有更好的用户经验并减少服务机加载量 并降低程序复杂性

本页覆盖 Android图像常用模式和带云视频上传

关于所有可用上传功能细节见上传和指南上传方法上传API引用

因安全原因移动应用不包含云化产品环境证书可使用签名上传中需要生成后端认证签名在大多数情况下,你可能使用无签名上传通常提供移动应用需要的所有功能,同时限制需要更多安全上传选项

帮助我们提高SDK
我们想听听你使用 AndroidSDK的想法请花点时间完成 短调查.
感谢时间

媒体管理员上传法

上传请求由MediaManager管理上传方法接受文件上传为唯一参数文件可指定为:本地文件路径、字节数组、资源标识或URI

上传请求后通过MediaManagers发送到后台队列调度方法选择全套可定制规则限制允许选择何时上传请求应实际运行和如何运行请求自动重排,待发现可恢复错误后重试(例如:网络断开、超时)上传结果异步发送,全局回调可定义,并按请求具体回调

下简单示例上传图像图像File.jpg使用默认签名上传选项

无签名上传

无签名上传是一个执行上传的选项,无需生成后端签名无签名上传选项受a控上传预置:要使用此特征,你首先需要从云生成环境启动非签名上传上传页面云控制台设置

上传预置定义上传选项应用到非签名上传图像可随时编辑预置值(或创建附加上传预设值),定义参数用于从移动应用上传所有非签名图像

下简单示例上传图像图像File.jpg使用上传预集调用样本预置:

方法返回a请求标识可识别上传请求

签名上传

重要点

签名上传需要签名需要使用api_secret永远不要在客户端代码中披露秘密,因此需要在后端生成认证签名Android签名上传后端支持应同云端后端框架(ava,.NET等)并发各种后端框架实施助手与iOS并用,并自动生成认证签名供上传使用

Android设备执行签名上传SignatureProvider接口类执行同步HTTPS调用后端签名生成端点签名自身化

授权签名上传需要更新调用 MediaManagerinit系统方法名类实例init(Context签名提供程序地图))上传签名时会执行您的类

例举 :

上传选项

媒体管理器使用选项方法添加上传参数上传请求方法接受2参数:第一个指名上传参数和第二个指值例举上传图像样本pic.jpg并设置公共标识选项到样本1:

如果要在请求中多加上传参数,您可以分行链选项方法对每一参数使用 MediaManager选项方法传递所有参数地图注意,如果使用选项方法上传参数

例举上传图像狗Jpg设置公有imy_dog并添加标签动物类:

eq等值:

注解
安全理由 受限集上传选项执行非签名上传调用时可直接指定所有其他上传参数只能在上传预设内指定

上传响应

默认上传异步执行完成后上传图像立即可供变送

上传调回内容相似的JSON对象

响应内容包括HTTP和HTTPS访问媒体资产网站以及有关上传资产的额外信息:公共ID、资源类型、宽度和高度、文件格式、文件字节大小、验证响应签名等

片段上传

SDK包括上传拉格方法为网络问题提供更多容度这种方法向云块上传大文件,对任何大于100MB的文件都需上传大文件默认时块大小设为20兆字节,但可设为5兆字节块大小参数化例举上传大视频文件myVid.mp4原文件并设置块大小为6兆字节

超时选项

AndroidSDK提供2个额外参数以压倒默认超时值

  • 连接超时最大时间数毫秒等待连接建立
  • 读出时间最大时间数以毫秒等待可用数据读取

默认时,这些超时值因移动设备不同而异可反置默认超时值并给所有设备单值,用这些参数加法选项方法论

上传图像并设置10秒超时

回调

跟踪上传进度获取回调start启动,进度赛,成功,上错误重排.上传结果异步发送,2个选项添加回调功能

  1. 实现上传CallBack接口逐项调用
  2. 扩展监听者服务全局回调,即使应用关闭或后台运行

实现上传CallBack接口

创建类执行上传Callack接口并添加功能用自定义代码压倒特定回调事件媒体管理器使用回调方法向上传请求添加类名回调特指当前上传请求下示例中包含示例代码进度赛事件数 :

扩展监听者服务

扩展链表服务服务并添加功能用自定义代码压倒特定回调事件所有上传请求回调事件将转至您的服务路径,即使您的应用已被关闭或后台运行

下示例中包括扩展监听者服务的一些示例码

确定在清单中注册您的类,并同时输入服务类标签和云回调服务元数据标签内都应用标签上

比方说,如果课调用上传列表:

预处理上传

使用预处理方法修改图像后启动上传请求

预处理图像上传

图像预处理由类型对象定义ImageProcessChain装入图像带位图判定器使用指定大小,运行预定义处理步骤并用a保存图像比特马普编码器使用指定格式和质量下类型处理步骤目前可用 :

步态类型 参数 描述性
限制 (宽度高度) 向下缩放图像以适应给定维度绑定盒
DimensionsValidator 微值宽度 最大宽度 最小宽度 最大宽度 验证图像最小和最大维度图像不适应这些维度时投出错误
裁剪 (point, point) 作物图像由两点定义并引用理想矩形角
比特马普编码器 (格式质量) 使用给定格式(JPEG、PNG或WEBP)保存图像和质量

重要点
上传请求中包含预处理内容时,也需要传递Android 上下文实例调用 调度方法论

实例:

  1. 限制图像大小1000x1000像素,确保图像至少10x10像素大小并改格式WEBP80质量

    上头limitDimensionsChain可使用快捷方式方法代替加载解码器并单加限步举例说,下列代码实现与上文示例代码相同:

  2. 裁剪图像矩形 250 250 和750 750

注解
万一你需要创建自己的预处理步 预处理接口自定义码并声明为附加码 添加Step.

预处理视频上传

视频预处理由类型对象定义VideoProcessChain预处理视频下类型处理步骤目前可用 :

步态类型 参数 描述性
转码 frameRate,Width,Hight,KeyFramesInterval,TabjectAudioBitrateKbps和TafficidoBitrateKbps 转码视频按给定参数

重要点
上传请求中包含预处理内容时,也需要传递Android 上下文实例调用 调度方法论

转码视频速率为30框架/秒、1280x720像素大小、3秒键盘间隔、128kbps音频比特率和3Mbps视频比特率

注解
万一你需要创建自己的预处理步 预处理接口自定义码并声明为附加码 添加Step.

上传策略

使用策略化配置MediaManager上传请求在特定情况下运行的方法策略定义对象类型上传策略内含下列属性:

属性 类型 描述性
网络策略 网络类型 限制上传到网络连接的具体类型
可能的值 :
-UploadPolicy.NetworkType.NONE
-UploadPolicy.NetworkType.ANY(默认)
-UploadPolicy.NetworkType.UNMETERED
requiresCharging 布林安 仅在移动设备当前充电时上传默认值 :虚伪
需求闲置 布林安 仅在移动设备闲置时上传默认值 :虚伪
最大重试 整数 最大数重试上传默认值 :5
反转Cretia 回调Millis回调策略 回发策略重试前执行
后退Millis 长长 时间等待毫秒后重试默认值 :1200002分钟
后退策略 后退策略 相继上传尝试时间线性增加(2、4、6、8等)或指数化增加(2、4、8、16等)
可能的值 :
-UploadPolicy.BackoffPolicy.LINEAR
-UploadPolicy.BackoffPolicy.EXPONENTIAL (default)

请求特定上传仅在未实现网络上运行并等待5分钟再用线性回溯策略重试:

即时上传

需要立即启动上传即时使用立即启动方法绕过受控上传过程策略化方法论上头立即启动方法替换调度方法,你也需要传递 Android上下文实例调用方法

立即启动上传

重要点
注意使用前的下列考虑 立即启动方法 :
  • 上传将运行背景线程而非设备后台作业基础
  • 上头策略化忽略方法上传不从自动重试和智能调度中得益-故障即故障
  • 上传不计总运行作业并忽略最大允许作业-即即时启动忽略所有其他限制

取消上传

需要取消上传工作时,可使用取消请求方法传递请求取消或使用cancelAllRequests取消所有请求和作业的方法

取消单项请求

取消所有请求

全球政策

置所有上传请求默认策略为例使用setGlobalUploadPolicyMediaManager类方法调用方法后使用媒体管理员类中任何其他方法,最好选用Application.onCreate().全局策略定义对象类型GlobalUploadPolicy继承属性上传策略上面描述对象附加属性

属性 类型 描述性
maxConcurrentRequests 整数 最大上传请求数并发默认值 :5

举例说,设置默认上传请求只运行在未实现网络上(例如3个上传请求并发

Android上传部件

Android上传部件提供交互用户界面,使用户编辑并上传文件到云化产品环境部件只需几行代码整合,消除开发内部交互媒体上传能力的必要性当前部件提供交互裁剪能力并允许图像上传前旋转

使用上传部件调用Activity启动方法上传部件传递 Android活动上下文本片有效上下文)和请求代码

自动启动默认文件摘取器,允许用户按需裁剪/旋转图像,并同时通过调度队列向云中上传图像

droid上传部件选项

如果要定制部件行为,可添加选项对象选择方法判定图像上传方式上头选项对象支持2参数如下:

  • 安市动作化具体说明如何上传文件,或通过上传队列上传文件或立即上传文件if you want to拦截上传前结果
  • A级URIs链表droid资源点)通常从默认 Android文件采集器或相机API返回空号允许部件启动默认文件选择器选择文件上传

举个例子,调用带URIs列表的上传部件,通过队列发送上传

下示例显示使用默认文件选择器调用部件并立即上传文件

拦截编辑图像

if you descript Noste操作上传部件选项中添加代码并覆盖控件onActivityResult方法论使用静态助手法,每种结果可直接转换成上传请求,必要时可定制并发送用户所有请求编辑,包括旋转裁剪,在上传云形前,会自动添加到请求中,作为预处理步骤

例举 :

反馈发送

评分本页 :