Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/dart/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
File upload 如何从dart中的输入类型文件上载文件?_File Upload_Dart - Fatal编程技术网

File upload 如何从dart中的输入类型文件上载文件?

File upload 如何从dart中的输入类型文件上载文件?,file-upload,dart,File Upload,Dart,在搜索了很多之后,我无法在通过dart上传时反序列化一个简单的文本文件 我知道这可能会引发很多反对票,但一个如何在dart中上传文件的简单演示会有帮助吗 无论是在控制台中还是在dart的web应用程序中。我只想上载一个包含一些基本单词的文本文件,其他什么都不想上载。以下简单示例对我很有用: 在编辑器中使用以下文件结构: fileuploadtest/ fileupload.dart index.html index.html(注意:这里没有省道!) 指数 选择要上载的文件: fil

在搜索了很多之后,我无法在通过dart上传时反序列化一个简单的文本文件

我知道这可能会引发很多反对票,但一个如何在dart中上传文件的简单演示会有帮助吗


无论是在控制台中还是在dart的web应用程序中。我只想上载一个包含一些基本单词的文本文件,其他什么都不想上载。

以下简单示例对我很有用:

在编辑器中使用以下文件结构:

fileuploadtest/
  fileupload.dart
  index.html
index.html(注意:这里没有省道!)


指数
选择要上载的文件:
fileupload.dart

这就创建了一个静态文件处理程序(为简单起见),它总是为响应任何
GET
请求而提供
index.html
,以及一个文件上载处理程序,它响应任何POST请求并打印出上载文件的内容(实际上,整个POST数据-您必须提取相关位)

导入'dart:io';
void main(){
var httpServer=new httpServer();
//附加处理程序:
var static=新的StaticFileHandler();
addRequestHandler(static.matcher、static.handler);
var fileUploadHandler=新的fileUploadHandler();
httpServer.addRequestHandler(fileUploadHandler.matcher,
fileUploadHandler.handler);
//开始听
httpServer.listen(“127.0.0.1”,8081);
}
类FileUploadHandler{
bool matcher(req)=>req.method==“POST”;//如果方法是POST,则返回true
无效处理程序(req、res){
req.inputStream.onData=(){
var data=req.inputStream.read();
var content=新字符串.fromCharCodes(数据);
打印(内容);//打印文件内容。
};
}
}
类StaticFileHandler{
//对于所有GET请求,返回true。
布尔匹配器(req){
打印(“路径:${req.Path}”);
return req.method==“GET”;
}
无效处理程序(req、res){
var file=new file(“index.html”);//仅在同一文件夹中提供index.html
file.openInputStream().pipe(res.outputStream);
}
}
启动
fileUpload.dart
并使用浏览器导航到
http://localhost:8081/index.html

对于名为
foo.txt
的文件,包含以下内容:

foo
bar
这是我得到的全部日志输出(从Dart编辑器控制台发布)


回答很好,但我仍然想知道我们现在是否应该用AJAX/WS上传文件,而不是旧的表单;)。。。你知道,能够取消正在进行的上传,查看进度等公平点。我试图为服务器端找到一个最简单的答案,确实如此。我一直想写一个文件上传包有一段时间了,但还没有找到时间。让我们看看这个周末是否不同。
------WebKitFormBoundaryw7XBqLKuA7nP1sKc

Content-Disposition: form-data; name="MAX_FILE_SIZE"

100000

------WebKitFormBoundaryw7XBqLKuA7nP1sKc

Content-Disposition: form-data; name="uploadedfile"; filename="foo.txt"

Content-Type: text/plain

foo
bar

------WebKitFormBoundaryw7XBqLKuA7nP1sKc--