微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

将来自Expo App资产的图像上传到生产中的服务器

如何解决将来自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 举报,一经查实,本站将立刻删除。