Flutter/ 이미지 주소 로 이미지 공유하기

에러전문·2022년 12월 10일
0

https://pub.dev/packages/share_plus
https://pub.dev/packages/path_provider
이미지 주소를 받아서 해당 어플에서 다시 sms 등으로 이미지를 전달해야하는 일이 있었다.

share_plus 패키지를 사용했으며

///image 의경우 List<XFile> 이다.
        Share.shareXFiles(image,
            text:
                "보낼 text");

해당과 같이 작성하며 이미지 주소를 XFile로 convert 에대해 먼저 생각했으며

쉽게 convert 과정을 설명하자면

ImageUrl 을 먼저 받은뒤 해당 url을 http 통신하여 받은 data값으로 ByteData 값으로 교체한뒤 해당 값을 Uni8List 로 convert 시킨뒤
path_provider 패키지 사용하여 임시 저장소에 해당값을 저장하고 해당값의 path로 XFile로 만들었다.

예시코드

 final http.Response responseData = await http.get(Uri.parse(url));
    var uint8list = responseData.bodyBytes;
    var buffer = uint8list.buffer;
    ByteData byteData = ByteData.view(buffer);
    var tempDir = await getTemporaryDirectory();
    File file = await File('${tempDir.path}/img.jpg').writeAsBytes(
        buffer.asUint8List(byteData.offsetInBytes, byteData.lengthInBytes));
    XFile files = XFile(file.path);
profile
초보자입니다. 많은지적 감사합니다.

0개의 댓글