save a temp file from path-provider to download file Android/IOS in flutter

458 views
Skip to first unread message

Samer Jallad

unread,
Jun 2, 2021, 10:13:34 PM6/2/21
to Flutter Development (flutter-dev)
Hi everyone,
I have a question, I am using Path-provider to generate a path for a new generated PDF file from my App… but path provider is storing the file in the App folder & after closing the app the file will be deleted, I am using ```getExternalStorageDirectory```… how can I save that file to downloads when selected.Anybody can help me?

just small explanation... the PDF file will be viewed from the App using

flutter_full_pdf_viewer

then from that page I need to let the user select if he wants to save the file or close the hall file.

This is the code for the file save

``` Future savePdf({name, pdf}) async {
 
try {
   
final dir = await getExternalStorageDirectory();
   
String documentPath = dir.path;
   
fullPath = "$documentPath/$fileName";
    final
file = File('$fullPath');
    await
file.writeAsBytes(await pdf.save());
   
print('XXXXXXXXX$fileName');
    return
file;
 
} catch (e) {
   
// print('we have a problem');
 
}
  print(
fullPath);
}

```

And this is the PDFViewer page code

``` @override
 
Widget build(BuildContext context) {
   
return Scaffold(
      body:
Container(
        child:
PDFViewerScaffold(
          appBar:
AppBar(
            title:
Text('PDF page'),
           
actions: <Widget>[
             
IconButton(
                icon:
Icon(Icons.share),
               
onPressed: () {
                  Share.
shareFiles(
                    [
'$path'],
                  
);
                 
print('iiiiiiiiiiiiii$path');
               
},
             
),
             
IconButton(
                icon:
Icon(Icons.save),
               
onPressed: () {},
             
),
           
],
         
),
         
path: path,
       
),
     
),
   
);
 
}
}

```

Reply all
Reply to author
Forward
0 new messages