mirror of
https://github.com/lifegpc/eh_downloader_flutter.git
synced 2026-07-08 01:30:28 +08:00
Impl saveFile for web
This commit is contained in:
28
lib/platform/save_file_web.dart
Normal file
28
lib/platform/save_file_web.dart
Normal file
@@ -0,0 +1,28 @@
|
||||
// ignore: avoid_web_libraries_in_flutter
|
||||
import 'dart:html';
|
||||
import 'dart:typed_data';
|
||||
|
||||
void saveFileWeb(
|
||||
Uint8List data, String mimeType, String filenameWithoutExtension) {
|
||||
final blob = Blob([data], mimeType);
|
||||
final url = Url.createObjectUrlFromBlob(blob);
|
||||
final a = document.createElement("a") as AnchorElement;
|
||||
a.href = url;
|
||||
var ext = "";
|
||||
switch (mimeType) {
|
||||
case "image/jpeg":
|
||||
ext = ".jpg";
|
||||
break;
|
||||
case "image/png":
|
||||
ext = ".png";
|
||||
break;
|
||||
case "image/gif":
|
||||
ext = ".gif";
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
}
|
||||
a.download = "$filenameWithoutExtension$ext";
|
||||
a.click();
|
||||
Url.revokeObjectUrl(url);
|
||||
}
|
||||
Reference in New Issue
Block a user