【问题标题】:Viewing an octet-stream file in flutter在 flutter 中查看八位字节流文件
【发布时间】:2023-01-09 20:59:29
【问题描述】:

我正在尝试查看和显示附件,但附件的形式是“应用程序/八位字节流”。在查看之前是否需要将其转换为普通文件?如果需要,我该如何转换?

iVBORw0KGgoAAAANSUhEUgAAB2YAAAOpCAYAAADBskcdAAAAAXNSR0IArs4c6QAAAARnQU1BAACxPwv8YQUAAAAJcEhZcwAAFiUAABYlAUlSJPAAAP+lSURBVHhe7N0HYFbV/T7wJ++bvQhJgCRksEFABAUH04kDBQeK4qqzrbP132q1r...=

【问题讨论】:

    标签: flutter dart


    【解决方案1】:

    您需要先将 base64 字符串解码回其原始二进制形式。您可以使用 dart:convert 库中的 base64Decode 函数执行此操作:

    import 'dart:convert';
    
    // ...
    
    // Decode the base64 string into a Uint8List
    Uint8List fileBytes = base64Decode(base64String);
    

    因此,一旦您将那个奇怪的 base64 字符串转换回文件,您就会在 Uint8List 中拥有文件字节。现在你只需要一种方法来实际查看该死的东西。输入 flutter_plugin_pdf_viewer!下面是一些代码,可以帮助您将文件显示在屏幕上:

    import 'package:flutter_plugin_pdf_viewer/flutter_plugin_pdf_viewer.dart';
    
    // ...
    
    // Display the PDF file
    PDFDocument doc = await PDFDocument.fromByteArray(fileBytes);
    await FlutterPdfViewer.openDocument(
      doc,
      isUtf8: true,
      enableSwipe: true,
    );
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-10-14
      • 2015-12-08
      • 1970-01-01
      • 2022-10-11
      • 2020-07-05
      • 2020-06-03
      相关资源
      最近更新 更多