我很难下载图片然后将其显示在页面上。打印的 Base64 编码字符串看起来错误;它与例如不同http://www.freeformatter.com/base64-encoder.html结果。
这是我的代码:
HttpRequest.request(_url).then((HttpRequest response) {
String contentType = response.getResponseHeader('Content-Type');
if (_supportedContentType(contentType)) {
List bytes = new Utf8Encoder().convert(response.responseText);
String header = 'data:$contentType;base64,';
String base64 = CryptoUtils.bytesToBase64(bytes);
String image = "${header}${base64}";
me.avatar = image;
print(image);
}
}
当您设置responseType时,您会得到二进制数据
import 'dart:html' show HttpRequest;
import 'dart:convert' show base64;
import 'dart:typed_data' show Uint8List, ByteBuffer;
main() {
HttpRequest
.request("Zacharie_Noterman_-_Monkey_business.jpg",
responseType: "arraybuffer")
.then((HttpRequest response) {
String contentType = response.getResponseHeader('Content-Type');
var list = new Uint8List.view((response.response as ByteBuffer));
String header = 'data:$contentType;base64,';
String base64 = base64.encode(list);
String image = "${header}${base64}";
// me.avatar = image;
print(image);
//}
});
}
result:
数据:图像/png;base64,/9j/4AAQSkZJRgABAQEAYABgAAD ....
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)