2

このコードで Dart のresumable.jsを使用しようとしています:

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これらの2行でオブジェクトのプロパティを確認すると:

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

rs.opts正しく初期化されていることがわかりましたが、rs.files常にResumableFile長さ 1 のインスタンスが含まれています。メソッド addFile はパラメーターが Javascript のインスタンスであると想定しているが、 instanceof をFile取得しているためだと思いますdart:html.File

dart:html.FileJavascriptに変換する方法や、 resumable.jsFileに引数を渡す方法はわかりますか?

メソッドassignBrowseとを代わりに使用できることはわかっていますassignDropが、自分のソリューションに固執したいと思います。

4

1 に答える 1

2

基礎となる js オブジェクトを取得するには、JsObject.fromBrowserObjectを使用する必要があります。

files.forEach((file) {
  rs.callMethod("addFile",[new JsObject.fromBrowserObject(file)]);
});
于 2015-06-15T14:31:19.883 に答える