gpt4 book ai didi

dart - WebUI中的base64 img src导致错误

转载 作者:行者123 更新时间:2023-12-03 04:17:26 24 4
gpt4 key购买 nike

这是模板中有问题的部分:

<ul id="list">
<template iterate='file in convertedfiles.files'>
<li>{{file.filename}}
<template if='file.isImage'>
<img src="{{file.src}}" alt="{{file.filename}}"><br/>
Source: {{file.src}}
</template>
</li>
</template>
</ul>

convertedfiles是AndroidFile的列表:

class AndroidFile {
File _file;

String filename;
String src;
bool isImage;

AndroidFile(this._file) : isImage = false {
filename = htmlEscape(_file.name);

// If the file is an image, read and display its thumbnail.
if (_file.type.startsWith('image')) {
FileReader reader = new FileReader();
reader.on.load.add((e) {
src = reader.result.toString().trim();

// prints the correct URL (data:image/png;base64,...)
print(src);
isImage = true;
watcher.dispatch();
});

reader.readAsDataUrl(_file);
}
}
}

显示模板。它显示文件名,显示源,但是imagetag看起来像

 <img alt="screenshot-1179.png" src="#"> 

哈希值带有下划线(在Chromium源代码 View 中),如果单击它,则显示“找不到文件:/ web / out /”

在Chrome中说转换为JS:
“资源被解释为图像,但以MIME类型text / html传输”

样本来源在 GitHub
有什么提示吗?

最佳答案

请注意,如果您知道要处理的安全URI不受XSS的影响,则可以使用SafeUri包装器(从web_ui/web_ui.dart导入)来解决此问题。例如,从以下位置更改模板:

<img src="{{file.src}}" alt="{{file.filename}}">

至:

<img src="{{new SafeUri.unsafe(file.src)}}" alt="{{file.filename}}">

或在内部更改file.src以存储SafeUri。

关于dart - WebUI中的base64 img src导致错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14093738/

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