0

我正在使用针对 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', 'application/jpg', { error : function(e) { console.log('Error status: ' + e.status + ' - 错误信息: ' + e.message); }, 成功 : function () { console.log('文件打开成功');
} } );

但它们都不起作用。

任何帮助都感激不尽。

谢谢,奇拉格。

4

1 回答 1

0

尽管没有很好的文档记录,cordova childBrowser 不支持打开非 HTML 文件。这是由于 Microsoft 提供的底层子浏览器实现。

或者让用户选择一个外部应用程序来打开文件,如本问题中所述

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

于 2016-01-19T15:58:57.840 回答