使用 Ionic Framework 时如何显示在 windows phone 上捕获的图像?

How can I display an image captured on a windows phone when using the Ionic Framework?

我知道 Ionic Framework 不正式支持 Windows Phone,但是我已经完成了 90%。

我的问题是,当我拍照时,我返回的 URI 的格式为:

///CapturedImagesCache/WP_20150710_007.jpg

然而,当我尝试在包含 <img><ion-slide-box> 中使用它时,我只是在右上角看到一个白页图标(iOS 和 Android 工作完美)。不显示图像。有没有其他人设法显示 Windows Phone 捕获的图像?

假设您使用的是 Cordova Camera 插件,我会尝试使用 base64 编码的图像而不是链接到文件系统。

Camera.DestinationType.DATA_URL

此外,如果您还没有,我建议您试用 ngCordova:http://ngcordova.com/docs/plugins/camera/

来自他们的例子:

$cordovaCamera.getPicture(options).then(function(imageData) {
    var image = document.getElementById('myImage');
    image.src = "data:image/jpeg;base64," + imageData;
}, function(err) {
    // error callback
});

终于弄明白为什么我看不到图像了。返回的 URI 的格式为:///CapturedImagesCache/WP_20150710_007.jpg

当我在 <img onerror="alert(this.src);"> 上设置警报时,我发现 src 有 unsafe: 前缀。我已经将 imgSrcSanitizationWhitelist 添加到控制器模块,但是这是错误的地方,它现在在我的主 app.js 中,在我的 .run 部分之前:

.config(function($compileProvider){
    $compileProvider.imgSrcSanitizationWhitelist(/^\s*(https?|ftp|file|ms-appx|x-wmapp0):|data:image\//);
}

此正则表达式允许 img.src 具有被替换的路径。