在我的基于Cordova的IOS应用程序中,我需要从base64源显示一个图像,但它不会呈现任何内容。
<img id="cardImg" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAUAAAAFCAYAAACNbyblAAAAHElEQVQI12P4//8/w38GIAXDIBKE0DHxgljNBAAO9TXL0Y4OHwAAAABJRU5ErkJggg=="/>
上述简单的<img>
在浏览器上工作正常但在我的cordova应用程序中没有。
这是我的<meta> tag
列表
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<meta name="format-detection" content="telephone=no" />
<meta http-equiv="Content-Security-Policy" content="img-src 'self' data:">
<meta content="width=device-width,initial-scale=1,maximum-scale=5,user-scalable=yes" name="viewport">
<meta http-equiv="Content-Security-Policy" content="default-src * gap://ready file:; style-src 'self' 'unsafe-inline'; script-src 'self' 'unsafe-inline' 'unsafe-eval'">
Cordova版本:6.5和IOS版本:10.2.1
答案 0 :(得分:1)
您需要将图像源指令更改为:
img-src 'self' data:;
附加在相同的元标记中
<meta http-equiv="Content-Security-Policy" content="default-src * gap://ready file:; style-src 'self' 'unsafe-inline'; ***img-src 'self' data:;*** script-src 'self' 'unsafe-inline' 'unsafe-eval'">
答案 1 :(得分:0)
在iOS中只有一种显示图像的方法是使用base64格式。你可以使用cordova-camera-plugin来生成base64图像并加上img标签。我设置了标志来获取jpeg中的数据,base64在相机中插件。
img id =“cardImg”
var imgdata = data:image / jpeg; base64,iVBORw0KGgoAAAANSUhEUgAAAAUAAAAFCAYAAACNbyblAAAAHElEQVQI12P4 // 8 / w38GIAXDIBKE0DHxgljNBAAO9TXL0Y4OHwAAAABJRU5ErkJggg ==
<强> cardImg.src = imgdata; 强>