保存图像和视频以供离线访问

Saving images and videos for offline access

我正在开发一个从我的 REST API 获取自定义对象的应用程序。该对象的 class 称为 MyItem,它看起来像这样:

class MyItem {
  String title;
  String profilePicURL;
  String videoURL;
}

如您所见,class 包含两个 URL,指向 pngmp4 文件。

我想实现一项功能,允许用户下载对象,以便离线访问其内容。我保存 title 属性 没有问题,但是如何保存两个 URL(因为我不想保存 URL 本身,我会喜欢保存它指向的文件)。

知道在 Flutter 和 Dart 中最好的方法是什么吗?

谢谢!

 import 'package:dio/dio.dart';
    import 'package:path_provider/path_provider.dart';
    var directory = await getApplicationDocumentsDirectory();
    Dio dio = Dio();
    



   //Below function will download the file you want from url and save it locally
    void Download(String title, String downloadurl) async{
    
try{
await dio.download(downloadurl,"${directory.path}/$title.extensionoffile",
              onReceiveProgress: (rec,total){
                print("Rec: $rec, Total:$total");
                setState(() {
                  //just to save completion in percentage
                String  progressString = ((rec/total)*100).toStringAsFixed(0)+"%";
    
                }
                );
              });
}
catch(e){

//Catch your error here
}
}

现在又可以在任何地方使用

var directory = await getApplicationDocumentsDirectory();
String filepath = "{directory.path}/filename.fileextension";

现在你可以使用这个Image.file('filepath'); //来显示那些图像 你也可以使用 video player plugin 再次 VideoPlayerController.file('filepath') // 显示视频但正确阅读文档

这些只是整个步骤或更广阔的视野,您需要将它们用作地图并构建您的 code.That 保存或正确获取或映射的正确文件名和扩展名