cordova在Windows 8.1平台上打开本地文件

时间:2015-09-28 14:24:29

标签: cordova windows-8.1 window.open local-files

我正在使用面向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('文件成功打开');
                    }                 }             );

但它们都不起作用。

非常感谢任何帮助。

谢谢, 奇拉格。

1 个答案:

答案 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命名空间。