Flutter从烧瓶终点响应中下载pdf

时间:2018-08-02 21:38:53

标签: dart flutter

我很陌生,正在尝试接收来自后端的PDF

我有一个python flask后端,它使用get请求使用send_file发送pdf:

return send_file(os.getcwd() + '/output.pdf', attachment_filename='output.pdf')

我正在尝试使用以下方法来扑通它:

File file = new File(_localPath + "output.pdf");

try{
  await http
  .get(PDF_URL + "?property_id=153", 
  headers : {"Content-Type" : "application/json"})
  .then((response) async {
    await file.writeAsBytes(response.bodyBytes);

  });
} catch (Exception) {
  print(Exception.toString());
}

我不知道如何从响应中检索PDF,因为我有一个使用相同后端的React Web应用程序,并且使用以下操作成功打开了PDF:

window.location.assign(response.url, '_blank')

2 个答案:

答案 0 :(得分:1)

避免将>>> def greeting_1(name): ... if 0: ... yield ... return 'Hello' + name ... ... >>> run(greeting_1('John')) 'HelloJohn' await混合使用。 then使您可以更连续地编写代码。这种方法将帮助您进行调试,因为您可以看到代码到达的位置,打印响应状态代码等,等等。

await

答案 1 :(得分:0)

对于那些苦苦挣扎的人,我的问题中的代码有效,并且确实从URL获取PDF,我只是没有正确访问它。我只是在try catch块之后添加了这一行,它现在打开了PDF:

OpenFile.open("_localPath" + "output.pdf");

还要感谢您的建议@Richard!