使用steroids.js访问文件:///

时间:2013-10-13 20:58:15

标签: android cordova steroids

我无法使用steroid.js访问文件系统。我在phonegap中使用了完全相同的代码并且没有问题。这是我的代码,我似乎没有在我的控制台中出现任何错误。

var captureSuccess = function(mediaFiles) {
    mediaFiles[0].getFormatData(function(data) {
        if(data.duration > 10) {
            window.resolveLocalFileSystemURI(mediaFiles[0].fullPath, FileRemoveSuccess, function() {
                navigator.notification.alert('Error: Unable to access file system')
            });
        }
        else{
            $('#video-content').append('<video width="320" height="240" controls><source src="' + mediaFiles[0].fullPath + '" type="video/mp4"></video><br><span>' + mediaFiles[0].fullPath + '</span>');
        }
    });
};

// capture error callback
var captureError = function(error) {
    navigator.notification.alert('Error code: ' + error.code, null, 'Capture Error');
};

// start video capture
function RecordVideo(){
    navigator.device.capture.captureVideo(captureSuccess, captureError, {duration:10});
}

我还尝试通过手动放入路径或视频来访问图像,但我遇到了同样的问题。有什么我想念的吗?

2 个答案:

答案 0 :(得分:1)

如果您通过localhost(例如steroids.config.location = http://localhost/index.html)为您的应用提供服务,那么内置的WebKit安全性将阻止来自file:///的资产,因为它位于不同的域中。是这样吗?我们'重新研究所有CORS问题的解决方案,但请参阅http://guides.appgyver.com/steroids/guides/steroids-js/app-structure-on-device/以获取有关如何在设备上构建Steroids应用程序的信息(以及如何通过localhost访问文件)。

答案 1 :(得分:0)

事实证明,不仅需要将index.html文件作为文件提供,而且使用new steroids.views.WebView命令创建的任何其他Web视图也是如此。一旦我纠正了这个问题,问题就解决了