#ios #react-native #rn-fetch-blob
#iOS #react-native #rn-выборка-blob
Вопрос:
У меня есть следующая функция для загрузки PDF-файла с моего сервера:
const downloadInvoice = (invoiceId) => {
const path = `${RNFetchBlob.fs.dirs.DocumentDir}/${invoiceId}.pdf`;
RNFetchBlob.config({
fileCache: true,
path,
}).fetch('GET', `${Urls.base}/pro/invoice?invoiceId=${invoiceId}`, {
...authorizationHeaders
}).then((response) => {
RNFetchBlob.ios.openDocument(path);
}).catch((error) => {
Alert.alert(error);
});
};
Когда я запускаю этот код, документ открывается на моем iPhone, и я вижу PDF-файл. Проблема в том, что я нигде не могу найти PDF-документ после закрытия окна. Похоже, что документ хранится в кэше, но я хочу, чтобы он был сохранен в папке, доступной на моем iPhone для последующего пользователя (или для его печати или переноса на мой ноутбук).
Путь выглядит следующим образом: /var/mobile/Containers/Data/Application/AD1F85AC-456F-321A-A4B2-1B248F1134C1/Documents/20-02-2020-01-02.pdf
. Кроме того, когда я консоль.войдите в response.path(), у него тот же путь.
Я использую rn-fetch-blod, но я вижу, что этот пакет не поддерживается. Если у кого-то есть хорошая альтернатива, я буду рад ее услышать.
Ответ №1:
добавьте эти ключи для info.plist
iOS
<key> UIFileSharingEnabled</key>
<true/>
<key>LSSupportsOpeningDocumentsInPlace</key>
<true/>
источник : https://github.com/joltup/rn-fetch-blob/issues/212