0

我无法使用 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});
}

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

4

2 回答 2

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 访问文件)。

于 2013-10-15T13:03:07.067 回答
0

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

于 2013-10-15T13:57:02.047 回答