Object属性返回文字的一部分

时间:2018-02-02 15:36:47

标签: javascript angular

我是JavaScript对象的新手,我得到了一个对象列表,在该对象中有一个名为signature的属性是BLOB,我正在尝试对其进行解码以便将其显示为图像,但是当我使用它时,我无法使用它。在控制台中进行调试,返回的项目是一个数字,但它具有以下结构

"{
  "signature": "/9j/4AA"

但当我console.log(typeof + deca);表示号码时,以下是我的代码

    for (const sign of result){
        const deca = atob(sign.signature);
        console.log(typeof + deca);

console.log(deca)我得到this

并使用它来显示

            <img *ngFor="let sign of selectedUser"
                 [src]="sign.imageData"
                 alt="">

我是否需要使用修剪或切片来切断"{ "signature":部分或我做错了什么?

1 个答案:

答案 0 :(得分:2)

这是因为+运算符,它会自动使变量成为number

https://jsfiddle.net/n97ssLma/

var test = "test"
alert(typeof test) //string
alert(typeof + test) //number

将blob显示为图像,执行以下操作:

var image = document.createElement('img');
    
image.src="data:image/gif;base64,R0lGODlhDwAPAKECAAAAzMzM/////wAAACwAAAAADwAPAAACIISPeQHsrZ5ModrLlN48CXF8m2iQ3YmmKqVlRtW4MLwWACH+H09wdGltaXplZCBieSBVbGVhZCBTbWFydFNhdmVyIQAAOw==";
    
image.width=100;
image.height=100;
image.alt="here should be some image";
    
document.body.appendChild(image);

Using Javascript to Display Blob

更新了你的小提琴:https://jsfiddle.net/jt5ks76z/1/

使用atob方法的示例:

https://jsfiddle.net/jt5ks76z/4/