首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用Aqueduct 3.0处理分块上传

使用Aqueduct 3.0处理分块上传
EN

Stack Overflow用户
提问于 2018-08-05 11:42:58
回答 1查看 620关注 0票数 1

我在客户端使用的是AngularDart,在应用程序接口/服务器端使用的是Aquidet3.0。目前,我想上传文件并将其存储在文件系统中。

是否有推荐的方式来接收文件/多部分表单请求并将其存储在本地?

我一直在研究其他几个服务器框架,但它们都是为Dart 1而不是Dart 2构建的。在我开始弄清楚如何编写自己的服务器来接收和存储文件之前,我想我应该先问一下,因为我已经看到有人在GitHub上用#315请求它。

在Angular中,上传函数将如下所示(file_uploader.dart)

代码语言:javascript
复制
import 'dart:html';

import 'package:angular/angular.dart';
import 'package:angular_forms/angular_forms.dart';

/// AngularDart component for uploading files
// https://gist.github.com/alexd1971/67f4502c5e0d594d30f901fb0559fd7e
@Component(
  selector: 'file-uploader',
  templateUrl: 'file_uploader.html',
  directives: [coreDirectives, formDirectives]
)
class FileUploader {
  String progress;
  void uploadFiles(form) {
    var formData = new FormData(form);
    final request = new HttpRequest();
    request.open('POST', 'http://localhost:9999/upload');
    request.upload.onProgress.listen((ProgressEvent e) {
      progress = (e.loaded*100/e.total).toInt().toString() + '%';
    });
    request.onLoad.listen((e) {
      print('Uploaded');
    });
    request.send(formData);
  }
}
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-08-07 04:37:59

这个特性在队列中,我们可以在Dart 2的东西平息下来后开始工作。您还可以通过(从标准库dart:convert)创建一个Codec子类来对多部分表单数据进行编码和解码,从而在项目中扩展框架。您可以在启动期间为内容类型注册该编解码器:

代码语言:javascript
复制
CodecRegistry.add(ContentType("multipart/mixed"), MultipartCodec())

有关编解码器的示例实现,请参阅源代码中的application/x-www-form-urlencoded

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/51691206

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档