本文介绍了ImageStore.getBase64ForTag 期望什么 URI 格式?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

假设我有一个图像,例如来自图像选择器,它看起来像这样:

{身高":2848,"origURL": "assets-library://asset/asset.JPG?id=B84E8479-475C-4727-A4A4-B77AA9980897&ext=JPG",取消":假,宽度":4288,文件大小":342120,isVertical":假,"uri": "file:///Users/sepp/Library/Developer/CoreSimulator/Devices/998C81E0-5CC6-4A3E-90C2-A7C43060220C/data/Containers/Data/Application/53F9F372-37DD-4CD2-B5E2-0D984A064686/库/缓存/%2540anonymous%252Fcleanguide-c5413b44-e71a-4958-80a6-25b9c9e5d7a5/ImagePicker/A1D3644A-516E-4D7C-911C-2AC120B229BB.jpg"}

查看 React Natives ImageStore 的文档 (https://facebook.github.io/react-native/docs/imagestore.html),人们会假设将该图像的 URI 传递给 ImageStore.getBase64ForTag 应该返回该图像的 base64.

相反,它会产生一个错误Invalid imageTag: file:///Users/sepp/Library[...](为便于阅读而缩短).

所以我的问题是:ImageStore.getBase64ForTag 期望什么样的 URI?

解决方案

这篇关于 React Native 问题跟踪器的帖子有答案:

要使用ImageStore.getBase64ForTag,你首先要把你的图片放入ImageStore,这只能通过ImageEditor.cropImage函数来完成.p>

这可能看起来很麻烦,但这是因为我们通常不鼓励将图像转换为 base64 数据.如果你能解释你想要做什么,可能会有更好的方法,或者我们可以为它创建一个更好的 API.

Suppose I have an Image, for example from the Image Picker, that looks like this:

{
  "height": 2848,
  "origURL": "assets-library://asset/asset.JPG?id=B84E8479-475C-4727-A4A4-B77AA9980897&ext=JPG",
  "cancelled": false,
  "width": 4288,
  "fileSize": 342120,
  "isVertical": false,
  "uri": "file:///Users/sepp/Library/Developer/CoreSimulator/Devices/998C81E0-5CC6-4A3E-90C2-A7C43060220C/data/Containers/Data/Application/53F9F372-37DD-4CD2-B5E2-0D984A064686/Library/Caches/%2540anonymous%252Fcleanguide-c5413b44-e71a-4958-80a6-25b9c9e5d7a5/ImagePicker/A1D3644A-516E-4D7C-911C-2AC120B229BB.jpg"
}

Looking at the docs for React Natives ImageStore (https://facebook.github.io/react-native/docs/imagestore.html), one would assume that passing the URI of that Image to ImageStore.getBase64ForTag should return the base64 for that Image.

Instead it produces an error Invalid imageTag: file:///Users/sepp/Library[…] (shortened for readability).

So my question is: What kind of URIs does ImageStore.getBase64ForTag expect?

解决方案

This post on the React Native issue tracker has the answer:

To use ImageStore.getBase64ForTag, you first have to get your image into the ImageStore, which can only be done by using the ImageEditor.cropImage function first.

这篇关于ImageStore.getBase64ForTag 期望什么 URI 格式?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!

07-18 15:51