2013-10-13 1 views
0

Я не могу получить доступ к файловой системе, используя steroid.js. Я использовал тот же самый код в телефонной книге и не имею проблемы. вот мой код, и я не вижу никаких ошибок в моей консоли.Файл доступа: /// с помощью steroids.js

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}); 
} 

Я также попытался получить доступ к изображению, поместив путь вручную или видео, и у меня такие же проблемы. Есть что-то, чего я не хватает?

ответ

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).

0

Оказывается, что не только ваш файл index.html должен обслуживаться как файл, но так же делать любые другие веб-просмотры, которые вы создаете с помощью команды new steroids.views.WebView.Когда я исправил это, проблема была решена.