【发布时间】:2021-11-21 01:05:05
【问题描述】:
我在一个项目中工作,我必须出示用户完成课程的证书,有一个 API 的 URL 使用令牌中的 get 方法来访问 pdf 文件,问题是我不知道如何使用颤振显示或将该响应转换为 pdf, 我尝试使用 url_launcher 依赖项,因为在浏览器中正常显示 pdf,但问题是我需要将令牌传递给该 url。 我尝试的第二件事是获取 api 的响应并将其保存在临时文件中并使用 flutter_pdfview 依赖项,但它显示错误。 这是 api 的响应的样子:
%PDF-1.4
1 0 obj
<<
/Title (þÿ)
/Creator (þÿ)
/Producer (þÿQt 5.5.1)
/CreationDate (D:20211120205047)
>>
endobj
2 0 obj
<<
/Type /Catalog
/Pages 3 0 R
>>
endobj
4 0 obj
<<
/Type /ExtGState
/SA true
/SM 0.02
/ca 1.0
/CA 1.0
/AIS false
这是我尝试过的:
Future LoadPDF(APIurl)async {
Map<String,String> Headers={
'Content-type': 'application/json; charset=UTF-8',
'Accept': 'application/json',
'Authorization': 'Bearer $userToken'
};
final response = await http.get(Uri.parse(APIurl),headers: Headers);
final bytes = response.bodyBytes;
// print(response.bodyBytes);
var dir = await getTemporaryDirectory();
File file = File(dir.path + "/data.pdf");
await file.writeAsBytes(bytes, flush: true);
setState(() {
loadDocument(file);
});
// return file;
}
【问题讨论】:
-
你找到解决办法了吗?
-
你修复了这个错误吗?我也有同样的问题。