Javascript 返回将图像表示为JSON的字节[]?
我正在创建一个对象服务器端,它拥有表示对象客户端所需的所有数据。我希望客户端对象具有的属性之一是its图标 目前,我有以下代码。它还没有运行,我只是想和S.O讨论一些事情:Javascript 返回将图像表示为JSON的字节[]?,javascript,json,image,model-view-controller,Javascript,Json,Image,Model View Controller,我正在创建一个对象服务器端,它拥有表示对象客户端所需的所有数据。我希望客户端对象具有的属性之一是its图标 目前,我有以下代码。它还没有运行,我只是想和S.O讨论一些事情: public class ComponentDiagramPolygonChild { IconServicesSoapClient IconServicesProxy = new IconServicesSoapClient("IconServicesSoap"); public string Name
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存储为属性,而不是字节[]
- 将图标存储为字节[]
编辑:在阅读了一些内容之后,我觉得前一个选项是我最好的选择。我认为从技术和编程的角度来看,将数据图像传回去会很酷 您可以使用base64编码版本的图像来实现这一点,大多数现代浏览器都支持这一点。您也可以使用HTML5画布对象来实现 然而,从实用的角度来看,最可维护的解决方案是使用一个ID并让它发出一个单独的HTTP请求。不需要HTML5,几乎所有使用中的浏览器都支持它,您可以重用现有的图像传递系统
如果您的服务器进行了调优,则可以为映像请求额外的HTTP请求,如果您正在处理大量这些映像,则服务器上的CPU负载将大大减少。我阅读了有关canvas对象的HTML5文档,这激发了我的兴趣。我已经在将这些图像加载到画布中——在利用画布的同时减少对服务器的点击,这听起来很理想。它似乎将“CanvasPixelArray”对象作为数据。这种类型很容易从字节数组转换成字节数组吗?对不起,我对这方面的知识还不够。你可能会在这里的一个新问题中得到一些具体的帮助。