gpt4 book ai didi

dart - 使用 Dart 下载 PNG 文件(二进制文件)并显示它不起作用

转载 作者:行者123 更新时间:2023-12-03 02:54:16 24 4
gpt4 key购买 nike

我有一个休息 API,我正在调用它来检索要在我的页面上显示的 PNG 图像。

我的代码:

void getProfilePicture(var pic_id) {

request = new HttpRequest();
request.responseType = "blob";
request.onReadyStateChange.listen(onPicture);

// Get Basic Auth credentials
var authorization = 'Basic '+storage.loginData['password'];

// Build JSON
Map reqData = new Map();
reqData['id'] = pic_id.toString();
reqData['type'] = 'WEB_SMALL';

// SEND the request to the server.
var url = sifted.serverAPI+'/api/v1/pictures/getpicture';
request.open('POST', url);
request.withCredentials = false;
request.setRequestHeader('Authorization',authorization);
request.setRequestHeader('Content-Type','application/json');
request.send(json.stringify(reqData));
}

void onPicture(_) {
if (request.readyState == HttpRequest.DONE &&
request.status == 200) {
Blob blob = new Blob(request.response);

FileReader reader = new FileReader();
reader.onLoad.listen((fe) {
ImageElement imgInput = query('#profilepic');
imgInput.src = reader.result;
});
reader.readAsDataUrl(blob);
}
}

它不起作用,我在 Dart 编辑器中收到这些错误:
Exception: type 'Blob' is not a subtype of type 'List' of 'blobParts'.
Exception: type 'Blob' is not a subtype of type 'List' of 'blobParts'.

关于我做错了什么有什么建议吗?

谢谢 !

最佳答案

问题是这一行:

Blob blob = new Blob(request.response);

Blob 构造函数需要 List而不是另一个 Blob ( request.response 在您的用例中): factory Blob(List blobParts, [String type, String endings])
删掉那行,直接调用 reader.readAsDataUrl(request.response) ,它应该工作。

关于dart - 使用 Dart 下载 PNG 文件(二进制文件)并显示它不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18290998/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com