0

Dart を使用してファイルをアップロードしようとしています。この前の質問を見て、何をする必要があるかを感じました: How to upload a file in Dart?

ただし、コンパイルすると、次のエラーが発生します...

NoSuchMethodError : method not found: 'onChange' 

以下は私が使用したコードです:

import 'dart:html';

void main() {
  InputElement uploadInput = query("#myFile");
  uploadInput.onChange.listen((e) {
    // read file content as dataURL
    final files = uploadInput.files;
    if (files.length == 1) {
      final file = files[0];
      final reader = new FileReader();
      reader.onLoad.listen((e) {
        sendData(reader.result);
      });
      reader.readAsDataUrl(file);
    }
  });
}

void sendData(dynamic data) {
  final req = new HttpRequest();
  req.onreadyStateChange.listen((Event e) {
    if (req.readyState == HttpRequest.DONE &&
        (req.status == 200 || req.status == 0)) {
      window.alert("upload complete");
    }
  });
  req.open("POST", "http://127.0.0.1:8080/upload");
  req.send();
}

インポートが不足していますか、それとも Chromium が File API を認識していませんか?

4

1 に答える 1

1

変数がそのnull上で呼び出されるメソッドである場合、 がスローされNoSuchMethodErrorます。onChange は InputElement classに存在するため、あなたの場合uploadInputもそうです。null

于 2013-08-07T19:50:03.020 に答える