接收base64映像时XDomainRequest性能问题

时间:2015-01-19 12:24:53

标签: javascript c# xdomainrequest

我有两个申请。其中一个是基于HTML的Web应用程序,它在IE9模式下工作,并通过XDomainRequest以base64字符串格式接收扫描文档的图像。

另一个应用程序是用C#编写的Windows服务。它通过HttpListener侦听端口上的请求。然后它扫描文档并通过HttpListenerResponse发送扫描图像。

扫描的图像将由客户端的Web应用程序处理,然后将上载到服务器。所以我必须在javascript中完成所有工作。没有服务器端解决方案(暂时)。

如果我只收到一张图片,这不是一个大问题。但是如果发送方发送多个图像,则base64字符串变得太大而且需要花费太多时间。

我使用下面的代码将图像转换为base64字符串:

public static string ImageToBase64(Image image, System.Drawing.Imaging.ImageFormat format)
        {
            using (MemoryStream ms = new MemoryStream())
            {
                image.Save(ms, format);
                byte[] imageBytes = ms.ToArray();

                string base64String = Convert.ToBase64String(imageBytes);
                return base64String;
            }
        }

以下代码用于接收图片:

 if (xdrScanning.responseText != "") {

         try {

                json = JSON.parse(xdrScanning.responseText);

                $('#scannedImage').attr('src', 'data:image/png;base64, ' + json[0].BASE64IMAGE);

              } catch (e) {
                 xdrScanningError();
              }
}

据我所知,XDomainRequest仅接收字符串响应。

那么,我该怎么做才能克服性能问题呢?

0 个答案:

没有答案