gpt4 book ai didi

javascript - 返回表示图像为 JSON 的 byte[]?

转载 作者:行者123 更新时间:2023-11-29 22:25:54 25 4
gpt4 key购买 nike

我正在创建一个对象服务器端,它具有表示对象客户端所需的所有数据。我希望我的客户端对象具有的属性之一是它的图标。

目前,我有以下代码。还没有运行,只是想和S.O讨论一些事情:

public class ComponentDiagramPolygonChild
{
IconServicesSoapClient IconServicesProxy = new IconServicesSoapClient("IconServicesSoap");

public string Name { get; set; }
public byte[] Icon { get; set; }

public ComponentDiagramPolygonChild(PlanViewComponent planViewComponent)
{
Name = planViewComponent.Name;
//TODO: Can icon ever return null here?
Icon = IconServicesProxy.GetIconByID(planViewComponent.Icon).Image;
planViewComponent.
}
}

在我看来,我有两个选择:

  • 将图标的 ID 存储为属性而不是 byte[]。
  • 将图标存储为 byte[]。

如果我使用前一个建议,我将需要到服务器并通过向服务器传递图标 ID 来请求图像数据。我相信这将是一种更简单的方法——我将只返回一个包含图像的内存流并将该流加载到所需位置。不利的一面是服务器上的多次点击,这似乎是完全没有必要的。

如果我使用后一个建议,我将通过网络传递(显着?)大量数据。我不确定字节数组是否能够正确地进行 JSONized。我不确定如何获取 jsonized byte[] 并将其转换为图像数据。

有人遇到过这种情况吗?我应该如何解决这个问题?谢谢。

编辑:经过一些阅读后,我认为前一个选项似乎是我最好的选择。

最佳答案

我认为从技术和编程的 Angular 来看,将数据图像传回会很酷。

您可以使用图像的 base64 编码版本来做到这一点,大多数现代浏览器都支持它。您也可以使用 HTML5 canvas 对象来实现。 Documentation is available on the MDN .

不过,从实用的 Angular 来看,最可维护的方案是使用一个ID,让它单独发起HTTP请求。无需 HTML 5,几乎所有使用的浏览器都支持,您可以重复使用现有的图像传输系统。

如果您的服务器经过调整,那么对图像有额外的 HTTP 请求就可以了,而且如果您处理大量这些图像,服务器上的 CPU 负载会少得多。

关于javascript - 返回表示图像为 JSON 的 byte[]?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9400000/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com