Дарт, как загрузить изображение
Я пытаюсь загрузить изображение, вот код:
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
<!DOC,TYPE 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>
Затем я попытался открыть вновь сохраненное изображение с помощью программы просмотра фотографий win, но там написано «не поддерживает этот формат файла», в то время как я вижу содержимое исходного файла. Так что я предполагаю, что я не использую правильный метод для декодирования байтов (возможно, просто предположение).
Ребята, вы можете дать мне подсказку?
Извините за плохой английский.