2015-06-15 8 views
2

Я пытаюсь использовать resumable.js от Dart с этим кодом:Использование resumable.js от Dart

var rs = new JS.JsObject(JS.context['Resumable'], [new JS.JsObject.jsify({ 
    'target':context.server+'/upload' 
})]); 

files.forEach((file) { 
    rs.callMethod("addFile",[file]); 
}); 

files переменная определяется как List<File> (dart.html.File). Когда я проверяю свойства rs объекта с этими двумя линиями:

JS.context["console"].callMethod("log",[rs['opts']]); 
JS.context["console"].callMethod("log",[rs['files']]); 

Я считаю, что rs.opts инициализированы правильно, но rs.files всегда содержит экземпляры ResumableFile с длиной 1. Я думаю, что это потому, что метод AddFile ожидает параметр будет экземпляр Javascript File, но он получает экземпляр dart:html.File.

У вас есть идеи, как конвертировать dart:html.File в Javascript File или как передать аргумент resumable.js?

Я знаю, что я могу использовать методы assignBrowse и assignDrop, но я хотел бы придерживаться своего решения.

ответ

2

Чтобы получить базовый объект js, вы должны использовать JsObject.fromBrowserObject.

files.forEach((file) { 
    rs.callMethod("addFile",[new JsObject.fromBrowserObject(file)]); 
}); 

 Смежные вопросы

  • Нет связанных вопросов^_^