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 對象,可設置的屬性如下:
| 屬性名 | 類型 | 是否可選 | 默認值 | 描述 |
|---|---|---|---|---|
| imageCount | int | 是 | 6 | 最大選擇圖片數目 |
| isRecordSelected | bool | 是 | false | 記錄當前已選中的圖片 |
| isCamera | bool | 是 | true | 是否允許用戶在內部拍照 |
| isCrop | bool | 是 | false | 是否允許裁剪,imageCount 為1才生效 |
| CropW | int | 是 | screenW * 0.6 | 裁剪寬度,默認屏幕寬度60% |
| CropH | int | 是 | screenW * 0.6 | 裁剪高度,默認屏幕寬度60% |
| isGif | bool | 是 | false | 是否允許選擇GIF,暫無回調GIF數據 |
| showCropCircle | bool | 是 | false | 是否顯示圓形裁剪區域 |
| circleCropRadius | float | 是 | screenW * 0.5 | 圓形裁剪半徑,默認屏幕寬度一半 |
| showCropFrame | bool | 是 | true | 是否顯示裁剪區域 |
| showCropGrid | bool | 是 | false | 是否隱藏裁剪區域網格 |
| quality | int | 是 | 90 | 壓縮質量(安卓無效,固定魯班壓縮) |
| minimumCompressSize | int | 是 | 100 | 小於100kb的圖片不壓縮(Android) |
| enableBase64 | bool | 是 | false | 是否返回base64編碼,默認不返回 |
| freeStyleCropEnabled | bool | 是 | false | 裁剪框是否可拖拽(Android) |
| rotateEnabled | bool | 是 | true | 裁剪是否可旋轉圖片(Android) |
| scaleEnabled | bool | 是 | true | 裁剪是否可放大縮小圖片(Andro |
import SyanImagePicker from 'react-native-syan-image-picker';
const options = {/*配置參考上表*/}
SyanImagePicker .asyncShowImagePicker(options) .then(photos => { // 選擇成功 console.log('當前選擇的圖片', photos); }) .catch(err => { // 取消選擇,err.message為"取消" })
