首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >使用Promise收到奇怪的响应

使用Promise收到奇怪的响应
EN

Stack Overflow用户
提问于 2018-01-25 08:13:40
回答 2查看 47关注 0票数 0
代码语言:javascript
运行
复制
    vm.imageR = $resource("", {}, {
        getFile: {
            url: '/api/imager/:fileId',
            method: 'GET',
            transformResponse: function(data, headersGetter) { return { data : data }},
            isArray: false,
            params: {
                fileId: '@fileId'
            }
        },
    ...

这是我收到的:

"�PNG IHDRX�7�"�PLTE���V�3R�-���O�(��������������S�/���P�*��h�H��������θ������׫����奥���ᴴ�����ށ�����O�E������...

如何正确解析图片在HTML中显示为图片(在图片中设置为src )?

EN

回答 2

Stack Overflow用户

发布于 2018-01-25 08:33:01

如果您确实需要以这种方式加载图像,则必须对服务器端返回的图像数据执行base64操作,并将该字符串附加到img src上。

代码语言:javascript
运行
复制
// in this format
var imgData = "data:image/png;base64,"+theBase64Data;

否则,您将不得不使用图像标签来执行请求。

代码语言:javascript
运行
复制
var img = document.createElement("img"); 
img.src = '/api/imager/'+fieldId; // whatever the fieldId is
// append it to the dom.

第二个选项更有意义,因为您无论如何都是从服务器获取图像,为什么要base64它呢?

票数 0
EN

Stack Overflow用户

发布于 2018-01-25 09:51:18

这很奇怪,但这是唯一有效的改变:

之前:

代码语言:javascript
运行
复制
vm.getFile = function (fileId) {
    return vm.imageR.getFile({ fileId: fileId });
};

现在:

代码语言:javascript
运行
复制
vm.getFile = function (fileId) {
    var retVal = vm.imageR.getFile({ fileId: fileId });
    return retVal;
};

真的很奇怪。:)

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/48433725

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档