我想從Facebook資料圖片中獲取base64圖像。ImageStore.getBase64ForTag中的imageTag無效錯誤
getImageFromFacebook() {
const imageURL = this.props.userInfo.picture;
Image.getSize(imageURL, (width, height) => {
var imageSize = {width, height};
ImageEditor.cropImage(imageURL, imageSize, (imageURI) => {
console.log(imageURI);
ImageStore.getBase64ForTag(imageURI, (base64Data) => {
this.setState({pictureBase64: base64Data});
ImageStore.removeImageForTag(imageURI);
}, (reason) => console.log(reason))
}, (reason) => console.log(reason))
}, (reason) => console.log(reason))
}
我下面這個https://github.com/facebook/react-native/issues/1158描述的步驟:
使用Image.getSize(URI)來獲得圖像尺寸。
使用ImageEditor.cropImage(uri,cropData)在ImageStore中存儲圖像的副本(如果您傳遞步驟1中獲得的寬度和高度),那麼cropImage實際上不會裁剪圖像,儘管它可能仍然會製作它的副本。
使用ImageStore.getBase64ForTag(uri)獲取新圖像的base64數據(傳遞從cropImage函數獲得的URI,而不是原始數據)。
一旦完成刪除副本,不要忘記調用ImageStore.removeImageForTag(uri)。
雖然ImageEditor.cropImage返回一個有效的URI(RCT-形象店:// 0),ImageStore.getBase64ForTag失敗,原因:
code: "ERCTERRORDOMAIN0",
domain: "RCTErrorDomain",
message: "Invalid imageTag: rct-image-store://0"
我在做什麼錯?