更新记录

1.0.3(2023-03-29)

1.【优化】api优化,使用option参数替代多参数的情况 2.【优化】使用并发上传,上传速率提升80% 3.【新增】新增对obs,cos云存储的支持

1.0.0(2023-03-22)

1.新增亚马逊S3分片上传,Android平台的实现。


平台兼容性

Android Android CPU类型 iOS
适用版本区间:5.0 - 12.0 armeabi-v7a:支持,arm64-v8a:支持,x86:未测试 适用版本区间:11 - 15

原生插件通用使用流程:

  1. 购买插件,选择该插件绑定的项目。
  2. 在HBuilderX里找到项目,在manifest的app原生插件配置中勾选模块,如需要填写参数则参考插件作者的文档添加。
  3. 根据插件作者的提供的文档开发代码,在代码中引用插件,调用插件功能。
  4. 打包自定义基座,选择插件,得到自定义基座,然后运行时选择自定义基座,进行log输出测试。
  5. 开发完毕后正式云打包

付费原生插件目前不支持离线打包。
Android 离线打包原生插件另见文档 https://nativesupport.dcloud.net.cn/NativePlugin/offline_package/android
iOS 离线打包原生插件另见文档 https://nativesupport.dcloud.net.cn/NativePlugin/offline_package/ios

注意事项:使用HBuilderX2.7.14以下版本,如果同一插件且同一appid下购买并绑定了多个包名,提交云打包界面提示包名绑定不一致时,需要在HBuilderX项目中manifest.json->“App原生插件配置”->”云端插件“列表中删除该插件重新选择


Android,IOS基于S3协议分片上传

说明

该插件基于亚马逊S3协议封装,主要用于所有支持S3协议的全部应用。目前支持自建云存储服务,华为云存储(OBS),腾讯云存储(OSS)及其他云存储平台.

开始使用

//引入插件
let s3Uploader = uni.requireNativePlugin("Frode-S3Uploader")
let option = {
    uploadId : '', //续传ID,如果传''则代表首次或重新开始上传
    endPoint = '',
    accessKey='',
    secretKey = '',
    sessionToken = '',
    bucket ='',
    objectKey ='',
    filePath = '/sdcard/m.mp4' 
}
s3Uploader.upload(option,(ret)=>{
                    console.log('返回结果:'+JSON.stringify(ret))
                })

返回结果说明

分片ID
{
    "code":2,
    "data":"xxxxx"   //xxxx:代表uploadId
}
注:uploadId为上传时返回的上传ID,是针对同一文件进行续传的依据。同时可实现跨设备进行同一文件进行续传。
如果用户不需要续传,则可不用持久化,需要续传分片则需要持久化,并在重新上传时将uploadId作为入参即可。
上传成功
{
    "code":0,
    "data":"文件上传成功后的地址"   
}
上传失败
{
    "code":-1,
    "msg":"上传失败的异常信息"   
}
上传进度
{
    "code":1,
    "data":{
        "transferredBytes":"本次已上传的字节数",
        "totalBytes":"本次总共需要上传的字节数(注意:非本次的分片不参与计算)",
        "percent":"上传进度(保留了2位小数)"
    }  
}

隐私、权限声明

1. 本插件需要申请的系统权限列表:

android.permission.ACCESS_NETWORK_STATE android.permission.WRITE_EXTERNAL_STORAGE

2. 本插件采集的数据、发送的服务器地址、以及数据用途说明:

3. 本插件是否包含广告,如包含需详细说明广告表达方式、展示频率:

许可协议

作者未提供license.md

使用中有什么不明白的地方,就向插件作者提问吧~ 我要提问