File upload dart上载文件输入类型文件
使用Dart和Golang开发一个小应用程序,并希望将文件上传到服务器 找到类似的内容并将其放在.dart文件中:File upload dart上载文件输入类型文件,file-upload,go,dart,dart-html,File Upload,Go,Dart,Dart Html,使用Dart和Golang开发一个小应用程序,并希望将文件上传到服务器 找到类似的内容并将其放在.dart文件中: InputElement uploadInput = query('#file'); // my input type file uploadInput.on.change.add((e) { // read file content as dataURL final files = uploadInput.files; if (files.lengt
InputElement uploadInput = query('#file'); // my input type file
uploadInput.on.change.add((e) {
// read file content as dataURL
final files = uploadInput.files;
if (files.length == 1) {
final file = files[0];
final reader = new FileReader();
reader.on.load.add((e) {
sendDatas(reader.result);
});
reader.readAsDataURL(file);
}
});
但是得到以下错误:
Uncaught TypeError: Cannot read property 'get$on' of null
你知道怎么处理吗
我的目标是:使用输入类型文件上传文件到服务器(文件大小,<1MB)这种语法大约在一年前就改变了 试试看
uploadInput.onChange.listen((e){
同样的变化在这里也是必要的
reader.onLoad.listen((e){
xxx.on…
语法仅适用于Dart还没有直接getter的自定义事件或浏览器事件
这也适用于标准浏览器事件
uploadInput.on['change'].listen((e)=>doSomething());
最后更改了代码,这是最后的工作功能,使用DART上载文件:
updatefileToPlay(Event e, dynamic data, FileUploadInputElement el) {
final files = el.files;
if (files.length == 1) {
final file = files[0];
final reader = new FileReader();
reader.onLoad.listen((e) {
FormData data = new FormData(); // from dart:html
data.append("file", file);
HttpRequest.request('/upload?id='+message.id, method: 'POST', sendData: data).then((HttpRequest r) {
if (r.readyState == HttpRequest.DONE &&
(r.status == 200 || r.status == 0)) {
window.alert("upload complete");
}
});
});
reader.readAsDataUrl(file);
}
}
嗨,伙计,谢谢你的回复。现在我得到了这样的结果:未捕获类型错误:无法读取Null的“get$onChange”属性。在执行这一行之前,请检查
uploadInput
是否有值?它没有。哦,它需要@observable uploadInput=0
?我错过了这个。你应该使用querySelector
而不是query
(但是query
应该也能用,我想,但是它被标记为@弃用了大约一年,我从未尝试过)。你使用聚合物吗?@observable
通常用于聚合物元素。它也可以单独使用,但你的代码没有指明任何方向。检查你的输入元素是否有id文件
。我不知道你所说的“我的输入有\35file
”是什么意思。你的输入元素需要看起来像
。id=“file”
是使用querySelector('#file');
的重要部分。您也可以使用querySelector('input[type=file');
则不需要id属性。您可以将CSS选择器与querySelector()
一起使用(请参阅)你到底想做什么?也许你正在寻找我只有一个输入类型的文件,我想添加一个文件并发布到服务器。参数类型“file”不能分配给参数类型“String”。dartargument\u type\u not\u assignable'