AngularDart上传文件转换为base64字符串

AngularDart upload file convert to base64 string

我正在使用 AngularDart、Angular 5 和 Dart 2。我有一个带有更改操作的文件输入。

<input #inp type="file" id="upload_image" accept="image/*" (change)="handleUpload($event)">

这是我的 handleUpload。

Future<void> handleUpload(html.Event e) async {
    e.preventDefault();
    picfile = (e.target as html.FileUploadInputElement).files[0];

}

我希望能够获取 html.File 对象并将其转换为 io.File 对象,以便我可以对其进行 base64 编码并将其在我的 JSON 中传递到我的服务器.我在我的 Flutter 应用程序中做了类似的事情。不确定我遗漏了什么,但似乎没有什么能让 html.File 对象成为 io.File 对象。

如有任何帮助,我们将不胜感激。

import 'dart:html';
...

var blob = e.target as html.FileUploadInputElement).files[0];
var reader = new FileReader()..readAsArrayBuffer(blob);
await reader.onLoadEnd.first;
List<int> /* or Uint8List */ result = reader.result;
print(result);

这里应该可以base64编码()