API兼容性:
QRN:v3.1.0
iOS:80011317
Android:60001197
FileUploader
用来实现图片、视频以及文件上传功能。
import { FileUploader } from 'qunar-react-native';
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为不压缩,可选 |