从客户端

时间:2016-11-16 11:44:54

标签: javascript jquery ajax html5 bitmap

我有一个服务,它以base64字符串的形式提供位图数据。

我正在使用ajax调用将我的服务中的数据导入我的HTML5应用程序。

        jQuery.ajax({
            url: MY_SERVICE_URL,
            type: "GET",
            dataType: "json",
            success: ImageCaptured,
            error: AjaxFailed
       });

“ImageCaptured”方法如下

    var ImgData = "data:image/bmp;base64," + response.serviceResult;
    window.location.href = ImgData;

这会打开图像。但是,我的要求是在本地保存图像。

我也尝试过使用

    var link = document.createElement('a');
    link.href = ImgData;
    link.download = "Image.bmp";
    link.click();

这给了我网络错误。

我错过了什么吗?关于如何做的任何想法?

提前致谢。

编辑:我需要打开下载对话框,以便在本地保存图像。我可以在 img 标签

中显示图像

1 个答案:

答案 0 :(得分:0)

找到出路。希望这有助于其他人。

更改是在“ImageCaptured”功能中。

    var ImgData = "data:image/octet-stream;base64," + response.serviceResult;

    var link = document.createElement('a');
    link.href = ImgData;
    link.download = FileName + ".bmp";
    document.body.appendChild(link);
    link.click();
    document.body.removeChild(link);

这将从浏览器中强行下载图像。