这是模板有问题的部分:
<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>
convertfiles 是 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);
}
}
}
模板显示出来。它显示文件名,它显示源,但图像标签看起来像
<img alt="screenshot-1179.png" src="#">
哈希带有下划线(在 Chromium 源视图中),如果我单击它,它会显示“找不到文件:/web/out/”
转换为 JS 在 Chrome 中说:“资源解释为图像,但使用 MIME 类型 text/html 传输”
示例源在GitHub 上
有
任何提示吗?