【问题标题】:Is there any way to access the video file path that converted to Uint8List有什么方法可以访问转换为 Uint8List 的视频文件路径
【发布时间】:2021-01-10 02:06:47
【问题描述】:

flutter_material_pickers插件的下面代码中,我想获取视频文件路径,但是showMaterialFilePicker函数返回的file变量是Uint8List类型。

 void onTap() {
    if (value == null) {
      showMaterialFilePicker(
        fileType: Filetype.video,
        onChanged: (file) => setState(() {
          didChange(file);
          if (widget.onChanged != null) widget.onChanged(file);
        }),
      );
    } else {
      _showUnattachDialog();
    }
  }

参考flutter_material_pickers这个函数,代码为:

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

import 'package:file_picker/file_picker.dart';
import 'package:flutter/material.dart';
import 'package:flutter/services.dart';

/// Allows selection of a file.
Future<void> showMaterialFilePicker({
  BuildContext context,
  FileType fileType = FileType.image,
  String fileExtension,
  ValueChanged<Uint8List> onChanged,
}) async {
  try {
    File file = await FilePicker.getFile(type: fileType);
    var data = file.readAsBytesSync();
    if (onChanged != null && file != null) onChanged(data);
  } catch (error) {
    if (error.runtimeType is PlatformException) return; // user clicked twice
    if (error.runtimeType is NoSuchMethodError) return; // user canceled dialog
    throw error;
  }
}

【问题讨论】:

    标签: flutter dart uint8list


    【解决方案1】:

    不,没有从Uint8List 读取路径的选项。这种类型只存储字节数据。您甚至可以通过比较来自不同位置的两个相同图像的readAsBytes() 的结果来测试它。

    您可以使用file_picker(此包也用于flutter_material_pickers)并在Usage部分中获取File,并且从File您可以访问路径。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2020-06-15
      • 2020-11-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-01-17
      • 1970-01-01
      相关资源
      最近更新 更多