更新旧的React Native应用程序时,我遇到了遗留代码问题。它在一种方法中使用ImageStore addImageFromBase64()来:


将Base64映像存储到FS
在顶部和底部添加空白(通过调整大小)
再次从FS中将其检索为Base64


我应该如何对其进行修改以实现相同的所需功能?

问题是addImageFromBase64()在Android上不起作用。


  警告:react-native:ImageStore.addImageFromBase64()不是
  在Android上实现


  // Resize photo (fill white space on top and bottom)
  static async addWhiteSpace(data) {
    const {
      height,
      width,
      base64Str
    } = data;
    const cropData = {
      offset: {
        x: 0,
        y: - height / 2,
      },
      size: {
        width,
        height: 2 * height
      },
      resizeMode: 'contain'
    };

    const uriResolver = await new Promise((resolve, reject) => {
      ImageStore.addImageFromBase64(base64Str, (uri) => {
        resolve(uri)
      }, (err) => {
        reject(err)
      })
    });
    const whitespaceURIResolver = await new Promise((resolve, reject) => {
      ImageEditor.cropImage(uriResolver, cropData, (whitespaceURI) => {
        resolve(whitespaceURI)
      }, (err) => {
        reject(err)
      })
    });
    const base64Resolver = await new Promise((resolve, reject) => {
      ImageStore.getBase64ForTag(whitespaceURIResolver, (base64) => {
        resolve(base64)
      }, (err) => {
        reject(err)
      })
    });
    return base64Resolver
  }

最佳答案

我还没有这样做,但是您可以通过将

08-06 17:15