Files
eh_downloader_flutter/lib/platform/save_file_web.dart

36 lines
843 B
Dart

import 'dart:js_interop';
import 'dart:typed_data';
import 'package:web/web.dart';
void saveFileWeb(
Uint8List data, String mimeType, String filenameWithoutExtension) {
final blobOpts = BlobPropertyBag(type: mimeType);
final blob = Blob([data.toJS].toJS, blobOpts);
final url = URL.createObjectURL(blob);
final a = document.createElement("a") as HTMLAnchorElement;
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);
}
void saveUriWeb(String uri) {
final a = document.createElement("a") as HTMLAnchorElement;
a.href = uri;
a.click();
}