Impl saveFile for web

This commit is contained in:
2023-09-09 13:13:16 +08:00
parent d0521d3774
commit 4ec4d61656
4 changed files with 40 additions and 0 deletions

View 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);
}