我正在使用面向Windows 8.1平台的基于cordova的混合应用程序。我正在使用Visual Studio 2013 Update 4 IDE进行调试和测试。我正试图打开在设备上本地保存的图像说" C:\ image.jpg"
我尝试了多种选择,如:
使用带文件协议的window.open作为window.open(" file:/// C:/image.jpg");
还尝试将fileopener2插件作为
cordova.plugins.fileOpener2.open(
' C://image.jpg' ;,
'应用/ JPG&#39 ;,
{
错误:函数(e){
console.log('错误状态:' + e.status +' - 错误消息:' + e.message);
},
成功:function(){
console.log('文件成功打开');
}
}
);
但它们都不起作用。
非常感谢任何帮助。
谢谢, 奇拉格。
答案 0 :(得分:0)
虽然记录不完善,但cordova childBrowser并不支持打开非HTML文件。这是由于Microsoft提供的基础子浏览器实现。
让用户选择外部应用以打开文件,如this question
中所述var applicationData = Windows.Storage.ApplicationData.current;
var localFolder = applicationData.localFolder;
console.log(localFolder);
var imageFile = "image.png";
// Get the image file from the package's image directory
localFolder.getFileAsync(imageFile).then(
function (file) {
console.log("1");
// Set the show picker option
var options = new Windows.System.LauncherOptions();
options.displayApplicationPicker = true;
// Launch the retrieved file using the selected app
Windows.System.Launcher.launchFileAsync(file, options).then(
function (success) {
if (success) {
// File launched
console.log("2");
} else {
// File launch failed
console.log("3");
}
});
});
或者如果您想尝试使用自己的应用内解决方案,请查看Windows.Data.Pdf命名空间。