1.0.8 • Published 7 years ago

react-native-qiniu-uploader v1.0.8

Weekly downloads
3
License
ISC
Repository
github
Last release
7 years ago

react-native-qiniu-uploader

Platform - Android and iOS MIT

Author          E-mail    
gufei        799170694@qq.com

功能介绍

  • 支持 iOS Android  七牛云存储断点续传
  • 支持 上传图片和视频等其他文件

    android 环境配置

  • 拷贝 android/RCTQiniu 文件夹下的所有文件至项目 app/src/main/java/com.yourcompany.qiniu/ 根目录

  • app/build.gradle 文件中新增:

    compile 'com.qiniu:qiniu-android-sdk:7.3.+'
  • proguard-rules.pro 文件中新增混淆:
    -keep class com.qiniu.**{*;}
    -keep class com.qiniu.**{public <init>();}
    -ignorewarnings
 - AndroidManifest.xml文件中添加授权:
  • 拷贝 ios/RCTQiniu 文件夹下的所有文件至项目 ios/ios_proj_name/ 根目录
  • cd rn_proj_name/ios/,执行 Pod init,生成 Podfile 和 Podfile.lock
  • 打开 Podfile,添加 pod "Qiniu", "~> 7.1.5"
  • 执行 Pod install
info.plist文件中添加授权:
<plist version="1.0">
  <dict>
    ...
    <key>NSPhotoLibraryUsageDescription</key>
    <string>$(PRODUCT_NAME) would like access to your photo gallery</string>
    <key>NSCameraUsageDescription</key>
    <string>$(PRODUCT_NAME) would like to use your camera</string>
    <key>NSPhotoLibraryAddUsageDescription</key>
    <string>$(PRODUCT_NAME) would like to save photos to your photo gallery</string>
    <key>NSMicrophoneUsageDescription</key>
    <string>$(PRODUCT_NAME) would like to your microphone (for videos)</string>
  </dict>
</plist>

react-native

  拷贝QNEngine.js文件至ReactNative项目中

  import {QNEngine} from '../libs/QNEngine'
  
  componentDidMount() {
    //所有的原生通知统一管理
    QNEngine.eventEmitter({
            onProgress: (data) => {
                console.log(data.percent);
            },
            onComplete: (data) => {
                console.log(data)
            },
            onError: (data) => {
                console.log(data);
                switch (data.code) {
                    case '-2':
                        Toast.info('任务已暂停', 2)
                        break;
                    default:
                        Toast.fail('错误:' + data.msg, 2)
                        break;
                }
            }        
    })    
 }

  componentWillUnmount() {
    RtcEngine.removeEmitter()
  }
  
  /**
  * @param filePath:文件路径
  * @param upKey:文件名(唯一,不能重复)
  * @param upToken:上传token,服务端获取或本地生成
  * @param zone:上传至指定区域:华东:1,华北:2,华南:3,北美:4
  */     
  const params = {
        filePath: '文件路径',
        upKey: '文件名字',
        upToken: '上传token',
        zone: 1
       }
  QNEngine.setParams(params)
  
  // 开始上传任务
  QNEngine.startTask()
  
  // 暂停上传任务
  QNEngine.pauseTask()
  
  // 恢复上传任务
  QNEngine.resumeTask()
  

错误码

  1000 :success
  1001 :fail

  七牛错误代码:
  -2 :任务暂停
  -4 :文件路径不正确
  ...

运行示例

Example

运行示例图

更新信息

2018-04-21

  • android 客户端端封装完成

2018-04-20

  • iOS 客户端端封装完成
1.0.8

7 years ago

1.0.7

7 years ago

1.0.6

7 years ago

1.0.5

7 years ago

1.0.4

7 years ago

1.0.3

7 years ago

1.0.2

7 years ago

1.0.1

7 years ago

1.0.0

7 years ago