FileUploader 文件上传功能

API兼容性:
QRN:v3.1.0
iOS:80011317
Android:60001197

FileUploader用来实现图片、视频以及文件上传功能。

引入

import { FileUploader } from 'qunar-react-native';

API

FileUploader.uploadFile (fileUri, options, callback, errorCallback)

使用说明

import { FileUploader } from 'qunar-react-native';

let fileUri = 'assets-library://asset/asset.MP4?id=62B77146-3035-4811-B186-8EE743DDDC3C&ext=MP4';
let potions = {
            serverAddress: 'http://review.qunar.com/api/video/upload', // 服务器地址,必填
            serverParams: {
                orderNo: '',
                token: 'opsRliYvniztTHygFusegJffvzMWlzxB'
            }, // 上传时传给服务器的参数,可选
            fileKey: 'file',// 不填默认为 file
            fileName:'finename', //文件名,不填默认为 filename
            fileType: 'video/mpeg4' // 跟content-type类型保持一致,必填
            timeout: 60, // 上传超时时间,默认为60
            maxWidth: 1200, //仅对图片上传生效,图片压缩后的最大像素宽度,可选
            maxHeight: 1200, //仅对图片上传生效,图片压缩后的最大像素高度,可选
            quality: 90 //仅对图片上传生效,图片压缩的质量,范围是1-100,100为不压缩,可选
        };

 <TouchableHighlight
         style={styles.wrapper}
         onPress={() => {
          FileUploader.uploadFile(fileUri, options, res => {
            //上传成功,responseData中为上传成功后服务器返回的数据
            alert(JSON.stringify(res));
        }, err => {
            //上传失败
            alert(JSON.stringify(err));
        })
        }}>
         <View style={styles.text}>
           <Text>点击上传文件</Text>
         </View>
 </TouchableHighlight>


具体支持的上传参数

参数 类型 说明
serverAddress string 上传服务器地址,必填
serverParams object 上传时传给服务器的参数,可选
fileKey string 默认为file,可选
filename string 默认为filename,图片默认为image,可选
fileType string 上传的文件的指定类型,跟content-type类型保持一致,例如 image/jpeg, video/mpeg4等,必传
timeout number 上传超时时间,默认为60(开始支持版本:ios:80011318,安卓:60001575)
maxWidth number 仅对图片上传生效,图片压缩后的最大像素宽度,可选
maxHeight number 仅对图片上传生效,图片压缩后的最大像素高度,可选
quality number 仅对图片上传生效,图片压缩的质量,范围是1-100,100为不压缩,可选