Skip to content

Instantly share code, notes, and snippets.

@slightfoot
Created April 13, 2018 22:14
Show Gist options
  • Select an option

  • Save slightfoot/6f502205aca15e3cbf461df879673b56 to your computer and use it in GitHub Desktop.

Select an option

Save slightfoot/6f502205aca15e3cbf461df879673b56 to your computer and use it in GitHub Desktop.
Download file in Dart/Flutter
static var httpClient = new HttpClient();
Future<File> _downloadFile(String url, String filename) async {
var request = await httpClient.getUrl(Uri.parse(url));
var response = await request.close();
var bytes = await consolidateHttpClientResponseBytes(response);
String dir = (await getApplicationDocumentsDirectory()).path;
File file = new File('$dir/$filename');
await file.writeAsBytes(bytes);
return file;
}
@logicpixel31
Copy link

You can use the flutter_web_file_saver package for this:

import 'package:flutter_web_file_saver/flutter_web_file_saver.dart';

await FlutterWebFileSaver.saveText(
  content: csvData,
  filename: 'export.csv',
);

This package:

  • ✅ Native browser "Save As" dialog
  • ✅ Works offline
  • ✅ 25+ methods for different file types
  • ✅ No cloud storage needed

Package: https://pub.dev/packages/flutter_web_file_saver

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment