【发布时间】:2020-09-19 05:40:39
【问题描述】:
我一直在使用 cloudinary 来存储我的 pdf 文件,并使用 firebase 作为我的后端。但是,我遇到了这个问题。当我在 cloudinary https://res.cloudinary.com/cloudname/raw/upload/vxxxxxxxxxxx/xxxxxxxxxxxxxxxxxxxx 提供的链接上使用 http.get 时,我得到的是 ascii 数据而不是 pdf 文件。我试图将数据作为字符串写入扩展名为 .pdf 的文件,但该文件不起作用。我试图将其转换为字节,然后以字节的形式写入文件,但这也没有奏效。关于如何使用颤振在 android 上保存此文件的任何帮助,这将是一个很大的帮助。
await http.post('https://api.cloudinary.com/v1_1/${DotEnv().env['cloud_name']}/raw/upload',body: { "file": "data:raw/pdf;base64,$pdf", "upload_preset": DotEnv().env['upload_preset']} );
var response = await http.get('https://res.cloudinary.com/<cloudname>/raw/upload/v1590958359/gsvxe4zp7bb6yyldrccu');
final directory = await getApplicationDocumentsDirectory();
final path2 = directory.path;
File x = File('$path2/trial.pdf');
x.writeAsString(response.body);
这是我目前拥有的代码。在这种情况下,pdf 是 pdf 的 base64 编码。我在http.get 中的链接来自我已经上传的文件。
【问题讨论】:
-
您能分享一下您现在如何尝试实现这一目标的代码吗?
-
能否分享一个我们可以查看的 PDF 的示例 URL?
-
@TolgaKartal 我已经用代码更新了它。
-
@AleksandarKostadinov 我已经用代码更新了它。
标签: flutter cloudinary