#android #react-native #expo #react-native-android #assets
#Android #expo #react-native #ресурсы
Вопрос:
У меня есть изображение в моих ресурсах приложения Expo, и я могу получить к нему доступ с помощью следующего кода:
const asset = Asset.fromModule(require("..."));
await asset.downloadAsync();
const localUri = asset.localUri;
Теперь я хочу загрузить это изображение на сервер с запросом на выборку:
let formData = new FormData();
formData.append('photo', { uri: localUri, name: "photo", type });
fetch("/endpoint", {
method: 'POST',
body: formData,
headers: {'content-type': 'multipart/form-data'}
)
Это работает при использовании сервера разработки, но завершается сбоем после сборки Android .apk.
localUri
В обоих случаях (на Android):
Development: file:///data/user/0/host.exp.exponent/cache/ExperienceData/<username>/ExponentAsset-<hexstring>.jpg
Production: asset:///asset_<hexstring>.jpg
Ответ №1:
Хорошо, я исправил проблему, передав localUri
через a expo-image-manipulator
, а затем используя новый uri для команды выборки. Обработчик изображений изменяет uri с a asset:///...
на file:///
uri.
Понятия не имею, почему это не работало раньше.
Комментарии:
1. Не могли бы вы привести пример кода для «передачи localUri через expo-image-manipulator»?
2. показать код здесь