使用dartdevc下载鼠标事件,但不是dart2js

时间:2018-06-02 12:46:59

标签: dart dart2js dart-dev-compiler

我正在尝试使用https://stackoverflow.com/a/29702251/9885144之后建模的代码来执行HttpRequest,从返回的blob生成下载链接,然后自动下载(所有单击按钮后)。这是单击按钮时运行的函数:( Converter.toDocx()函数以我需要的格式运行HttpRequest.postFormData()并返回未来。)

getDocx(String qStr, String aStr) {
  String totalString = qStr + aStr;
  Converter.toDocx(convertURL, totalString).then((HttpRequest req) {
    String contentType = req.getResponseHeader("content-type");
    print(contentType);
    String filename = "download.docx";

    AnchorElement downloadLink =
        new AnchorElement(href: Url.createObjectUrlFromBlob(req.response));
    downloadLink.rel = contentType;
    downloadLink.download = filename;
    var event = new MouseEvent("click", view: window, cancelable: false);
    downloadLink.dispatchEvent(event);
  });
}

使用webdev serve时,它可以正常使用(在Chrome,Firefox和Edge上)。使用webdev build --no-release -o build:web部署在远程服务器上时,它也可以正常工作。但是如果我放弃--no-release选项,它就不起作用,所以我假设dart2js处理这个与dartdevc的关系有所不同。我打算添加一个弹出窗口,其中“如果不下载则点击此处”链接作为解决方法,但有更好的选择还是这是一个dart2js错误?

0 个答案:

没有答案