Первоначально я использовал эту функцию, чтобы изменить размер, а затем загрузить изображение в более ранней версии Expo, и оно работало нормально:
uploadImage = async (originalUri) => {
const { dispatchAvatar } = this.props;
const { uri } = await reduceImageAsync(originalUri);
const response = await fetch(uri);
const blob = await response.blob();
const photoData = { uri, blob };
dispatchAvatar(photoData);
};
В Expo SDK36 (RN 0.61.4), однако, при попытке чтобы получить URI, ответ возвращается как неопределенный. URI - это просто локальный файл (file: ///), и если я посмотрю на response.headers, я увижу «content-type»: «image / jpeg», так что fetch распознает файл правильно.
Когда я пытаюсь записать ответ, я получаю:
console.error: "There was a problem sending log messages to your development environment",
Error: value.hasOwnProperty is not a function. (In value.hasOwnProperty('tag')',
'value.hasOwnProperty' is undefined).
Какие-нибудь идеи насчет перехода на более новую версию Expo и React Native сломали бы это? Не работает на устройстве iOS или на симуляторе.