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可以工作,但当我得到字节数组作为响应时,出现了一些问题。我更新了问题,以便您可以查看。谢谢您提供更多信息!我目前正在进一步调查,但一旦我知道更多,我一定会更新我的答案。