Flutter 有没有办法访问转换为Uint8List的视频文件路径
在下面的插件代码中,我想获取视频文件路径,但是showMaterialFilePicker函数返回的file变量是Uint8List类型Flutter 有没有办法访问转换为Uint8List的视频文件路径,flutter,dart,uint8list,Flutter,Dart,Uint8list,在下面的插件代码中,我想获取视频文件路径,但是showMaterialFilePicker函数返回的file变量是Uint8List类型 void onTap() { if (value == null) { showMaterialFilePicker( fileType: Filetype.video, onChanged: (file) => setState(() { didChange(file);
void onTap() {
if (value == null) {
showMaterialFilePicker(
fileType: Filetype.video,
onChanged: (file) => setState(() {
didChange(file);
if (widget.onChanged != null) widget.onChanged(file);
}),
);
} else {
_showUnattachDialog();
}
}
参考颤振物料选择器的此功能,代码为:
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;
}
}
导入'dart:async';
导入“dart:io”;
导入“dart:键入的_数据”;
导入“package:file_picker/file_picker.dart”;
进口“包装:颤振/材料.省道”;
导入“包:flifter/services.dart”;
///允许选择文件。
未来展示材料拾取器({
构建上下文上下文,
FileType FileType=FileType.image,
字符串文件扩展名,
值一经更改,
})异步的{
试一试{
File File=await FilePicker.getFile(类型:fileType);
var data=file.readAsBytesSync();
如果(onChanged!=null&&file!=null)onChanged(data);
}捕获(错误){
if(error.runtimeType为PlatformException)返回;//用户单击了两次
if(error.runtimeType为NoSuchMethodError)返回;//用户已取消对话框
投掷误差;
}
}
否,没有从Uint8List
读取路径的选项。这种类型只存储字节数据。您甚至可以通过比较不同位置的两个相同图像的readAsBytes()
结果来测试它
您可以使用(该软件包也用于Flatter_material_Picker)和获取文件
,如第节所示,您可以从文件
访问路径