我有这项大学作业要做,任务是在 Flutter 中创建一个应用程序,该应用程序将从该网站获取数据:
https://www4.trf5.jus.br/diarioeletinternet/paginas/consultas/consultaDiario.faces (不是所有数据,只是经过此过滤的数据{Orgão = Seção Judiciária do Sergipe;Edição = Administrativa;Ano = 2020 年至 2023 年)
前端已经快完成了。这是该应用程序的 Figma 原型:
应用程序需要允许用户下载 PDF 或按名称或处理代码进行过滤。 (如果您对应用程序功能有任何疑问,请告诉我)
所以,问题是这个网站没有API,而且数据是PDF格式的。 我最初的想法是使用 Python 和 playwright 下载所有 PDF(从 2020 年到 2023 年)。但我不知道如何将其存储在数据库中并返回给用户,因为有时应用程序不会返回 PDF 中的所有文本,只会返回一小部分。
我使用 Firebase 作为后端。
关于如何做到这一点有什么想法吗?
你需要使用file_picker包然后看这段代码
import 'dart:io';
import 'package:file_picker/file_picker.dart';
import 'package:firebase_storage/firebase_storage.dart';
import 'package:firebase_database/firebase_database.dart';
Future<void> uploadPdf() async {
final File file = await FilePicker.getFile(type: FileType.custom,
allowedExtensions: ['pdf']);
final FirebaseStorage storage = FirebaseStorage.instance;
final Reference ref = storage.ref().child('pdfs/${file.name}');
final UploadTask uploadTask = ref.putFile(file);
final TaskSnapshot taskSnapshot = await uploadTask.whenComplete(() => null);
final String url = await taskSnapshot.ref.getDownloadURL();
final FirebaseDatabase database = FirebaseDatabase.instance;
final DatabaseReference databaseReference = database.ref().child('pdfs/${file.name}');
databaseReference.setValue(url);
}