Bixby 根据响应渲染原始图像

Bixby 根据响应渲染原始图像,bixby,Bixby,有没有办法渲染我们从响应中获得的图像? 我的回答如下: var rawResponse = "�PNG...."; // truncated for example 我在所有示例中都看到,图像仅通过URL呈现,可以来自本地资产,也可以来自外部URL 当我看到它在我的视图中不起作用时,我也尝试将它转换为base64,但它仍然无法渲染。这就是我使用的: var base64 = require("base64"); var rawResponse = &qu

有没有办法渲染我们从响应中获得的图像? 我的回答如下:

var rawResponse = "�PNG...."; // truncated for example
我在所有示例中都看到,图像仅通过URL呈现,可以来自本地资产,也可以来自外部URL

当我看到它在我的视图中不起作用时,我也尝试将它转换为base64,但它仍然无法渲染。这就是我使用的:

var base64 = require("base64");
var rawResponse = "�PNG....";
var base64Response = base64.encode(rawResponse);
return 'data:image/png;base64,'+b64Response;
有没有不使用本地文件或外部URL呈现图像的方法


编辑

下面是代码的样子

var base64 = require("base64");

module.exports.function = function getImage (query) {

  const result = {}
  const image =  http.getUrl("https://via.placeholder.com/150/f66b97"); 
  result.image = toBase64(image);
  
  return result;
}

const toBase64 = (img) => {
  var b64Response = base64.encode(img);
  let src = 'data:image/png;base64,'+b64Response;
  return src;
}

 
structure (ImageResult) {
  description (Image Result)
  property (image) {
    type (Image)
    min (Optional) max (One)
  }
}


structure (Image){
  property (image) {
    type (core.BaseImage)
    min (Optional) max (One)
    visibility (Default)
  }
}

layout {
  match: ImageResult (this)
  mode (Details)
  content {
    section {
      content {
        divider 
        image {
          url{
            template ("#{value (this.image)}")
          }
        } 
        divider
        } 
      
    }
  }
}
在这段代码中,我只是简化了用法。当我提供本地或外部URL,或者以base64格式提供一些图像时,这仍然有效

要么响应不好,要么转换不好。。。然而,当我试图将其转换为base64时,我得到了一个损坏的图像


我做错什么了吗?

我已经确认这是有效的。我建议检查返回的图像数据,以确保编码和返回的信息正确


另外,,您还需要在结果视图中定义
image
键,其中
url
是您编码的返回字符串。

最好查看此javascript背后的操作代码以及Action@BixbyDevSupportOne我更新了问题,现在你可以看到代码是正确的base64可以工作,但当我得到字节数组作为响应时,出现了一些问题。我更新了问题,以便您可以查看。谢谢您提供更多信息!我目前正在进一步调查,但一旦我知道更多,我一定会更新我的答案。