I have some Uint8lists and I wanna save them as jpg files. I searched a lot for this on the web but found nothing! Anyone can help?

Thanks,


Solution 1: lsiu

By 'storage', do you mean write to a file? You don't really need "flutter" to do this. Just use the libraries provided by dart. Here is an example of downloading my gravatar which you can get as Uin8List and then saving it to a file.

import 'dart:io';
import 'dart:typed_data';

import 'package:http/http.dart' as http;

void main() {
  http.get('https://www.gravatar.com/avatar/e944138e1114aefe4b08848a46465589').then((response) {
    Uint8List bodyBytes = response.bodyBytes;
    File('my_image.jpg').writeAsBytes(bodyBytes);
  });
}


Solution 2: Rana Ali Ashar

Here is a simple and short solution of your problem. Use this line in your code as I did:

"SettableMetadata(contentType: "image/jpeg")," 

Code:

 if (kIsWeb) {
         await ref.putData(
          await imageFile.readAsBytes(),
           SettableMetadata(contentType: "image/jpeg"),
         );
         url = await ref.getDownloadURL();
         }