Dart wie man ein Bild hochlädt

Ich versuche ein Bild hochzuladen, hier ist der Code:

server.dart

import 'dart:io';

void main() {
  HttpServer.bind('127.0.0.1', 8080)
    .then((HttpServer server) {
      server.listen((HttpRequest request) {
        if (request.method.toLowerCase() == 'post') {
          request.fold(new BytesBuilder(), (builder, data) => builder..add(data))
          .then((BytesBuilder builder) {
            File file = new File('abc.jpg');
            file.writeAsBytes(builder.takeBytes(), mode: FileMode.WRITE)
              .then((_) {
                request.response.close();
              });
          });
        } else {
          File f = new File('test_1.html')
              ..openRead().pipe(request.response);
        }
      });
    });
}

test_1.html

<!DOCTYPE html>

<html>
  <head>
    <title>test_1</title>
  </head>

  <body>
    <form method="post" enctype="multipart/form-data">
      <input id="fileupload" name="myfile" type="file" placeholder="some file here..."/>
      <input type="submit" />
    </form>
  </body>
</html>

Dann habe ich versucht, das neu gespeicherte Bild mit Win Photo Viewer zu öffnen, aber es heißt "Unterstützt dieses Dateiformat nicht", während ich den Inhalt des Originals sehen kann. Ich schätze, ich verwende nicht die richtige Methode, um die Bytes zu entschlüsseln (vielleicht nur eine Vermutung).

Könnt ihr mir einen Hinweis geben?

Entschuldigung für das schlechte Englisch.

Antworten auf die Frage(1)

Ihre Antwort auf die Frage