с устройства (ios) взять документ и отправить его на сервер (иными словами в чате файл отправляем). Должна быть возможность множественного выбора.
Использую пикер react-native-document-picker - метод pickMultiple(). Я открываю "загрузки" например и выбрать несколько не могу. Только один. При этом, когда я отправляю этот один документ почему-то по факту отправляется документ с размером 0. Такое ощущение, что айфон отдал мне все данные о файле (я получаю путь на устройстве, название документа, его размер), а сам файл не отдал. на сервер улетел пустой документ, который не открыть, не прочитать.
Путь к файлу на устройстве начинается с такого - file:///private/var/mobile/Containers/Data/Application/D56F9B2D-37F4-4A91-9FA3-C7A1969F659A
Разрешения для доступа к документам я не нашла (юзаю react-native-permissions).
На андроид нормально выбираются документы, нормально отправляются. На ios не понимаю что не так делаю. Скорее всего что-то очевидное пропускаю. Подскажите, в чем может быть беда?
Покажи код где отправляешь файлы. Через fetch blob делаешь?
export const uploadImage = async (image) => { return await RNFetchBlob.fetch( 'POST', `тут_урл_куда_отправляю`, { 'Content-Type': 'application/octet-stream'}, RNFetchBlob.wrap(image.path) // такое ощущение что по указанному пути файл не берется ).then((res) => { return JSON.parse(res.data); }); };
я предварительно подготавливаю путь к файлу вот так const path = decodeURI(params.uri?.replace?.('file://', '') || '');
Заработало, спасибо большое за помощь!
Обсуждают сегодня