如何解决将来自Expo App资产的图像上传到生产中的服务器
我在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
解决方法
好吧,我通过将localUri
传递到expo-image-manipulator
,然后将新的uri用作访存命令来解决了这个问题。
图像操纵器将uri从asset:///...
更改为file:///
uri。
不知道为什么以前不起作用。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。