簡體   English   中英

如何使用 select 使用 expo 或 expo-image-picker-multiple 從圖庫中獲取多個圖像

[英]How to select multiple images from gallery with expo or expo-image-picker-multiple

自 3 天前以來,我一直在嘗試查看如何使用與 expo 配合使用的任何 package 來查看 select 多個圖像,但只允許一個獲取錯誤的其他包,但只允許選擇圖像,但嘗試了幾個圖像,我也一直在嘗試 expo-image-picker-multiple 最新版本,但它一直顯示錯誤。

所以我終於能夠從畫廊 select 多張圖片並使用下面上傳
要讓 expo-image-picker-multiple 工作,請使用版本 1.0.6,然后使用 go 到節點模塊中的源文件並找到 ImageBrowser 文件並將 prepareCallback function 替換為以下代碼

prepareCallback() {
const { selected, photos } = this.state;
const selectedPhotos = selected.map(i => photos[i]);
  this.props.callback(selectedPhotos); }

然后 go 到 ImageBrowserScreen 文件並用下面的代碼替換 imagesCallback function

imagesCallback = (photos) => {
const { navigation } = this.props;
this.props.navigation.setOptions({
  headerRight: () => this._getHeaderLoader()
});
     console.log(2);
   const cPhotos = [];
  for(let photo of photos) {
     cPhotos.push({
      uri: photo.uri,
      name: photo.filename,
      type: 'image/jpg'
    })
  }
  console.log(3);
  console.log(cPhotos);
  navigation.navigate('post_ad', {photos: cPhotos}); };

  

Upgrade to Expo SDK 46+ and you are able to set the ImagePicker to grab multiple files (works on Web, Android and IOS14+).

let result = await ImagePicker.launchImageLibraryAsync({
            allowsMultipleSelection: true,
            selectionLimit: 4,
          });

響應包含每個文件的uri (以及其他數據)。

result.map(async (img) => {
                const url = await handleImageUpload(img.uri)
            })

Expo 文檔非常好。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM