react-native上传图片、视频

1.上传视频:

  使用插件 :react-native-image-picker

 import * as ImagePicker from 'react-native-image-picker'

const options = {
            title: '选择视频',
            cancelButtonTitle: '取消',
            takePhotoButtonTitle: '录制视频',
            chooseFromLibraryButtonTitle: '选择视频',
            mediaType: 'video',
            videoQuality: 'medium' // 视频质量 'low', 'medium', or 'high' on iOS, 'low' or 'high' on Android
};
ImagePicker.showImagePicker(options, (response) => {})

2.上传图片:

  使用插件 :react-native-syan-image-picker

组件调用时,支持传入一个 options 对象,可设置的属性如下:

属性名类型是否可选默认值描述
imageCountint6最大选择图片数目
isRecordSelectedboolfalse记录当前已选中的图片
isCamerabooltrue是否允许用户在内部拍照
isCropboolfalse是否允许裁剪,imageCount 为1才生效
CropWintscreenW * 0.6裁剪宽度,默认屏幕宽度60%
CropHintscreenW * 0.6裁剪高度,默认屏幕宽度60%
isGifboolfalse是否允许选择GIF,暂无回调GIF数据
showCropCircleboolfalse是否显示圆形裁剪区域
circleCropRadiusfloatscreenW * 0.5圆形裁剪半径,默认屏幕宽度一半
showCropFramebooltrue是否显示裁剪区域
showCropGridboolfalse是否隐藏裁剪区域网格
qualityint90压缩质量(安卓无效,固定鲁班压缩)
minimumCompressSizeint100小于100kb的图片不压缩(Android)
enableBase64boolfalse是否返回base64编码,默认不返回
freeStyleCropEnabledboolfalse裁剪框是否可拖拽(Android)
rotateEnabledbooltrue裁剪是否可旋转图片(Android)
scaleEnabledbooltrue裁剪是否可放大缩小图片(Andro

import SyanImagePicker from 'react-native-syan-image-picker';

const options = {/*配置参考上表*/}
SyanImagePicker
.asyncShowImagePicker(options)
.then(photos => {
    // 选择成功
    console.log('当前选择的图片', photos);
})
.catch(err => {
    // 取消选择,err.message为"取消"
})