如何在Text flutter中将fileName显示为字符串



我在这里有这个upLoadFile((空白,当我选择文件时,我想显示我刚刚为EX选择的文件名;img89004.png";在文本中(fileName!(代码:

String? fileName;
void upLoadFile() async {
final results = await FilePicker.platform.pickFiles(
allowMultiple: false,
type: FileType.custom,
allowedExtensions: ['jpg', 'png'],
);
final path = results!.files.single.path!;
final fileName = results.files.single.name;
storage.uploadFile(path, fileName);
print(fileName);
}
//I want to display the fileName that I just picked HERE 
fileName == null
? const Center(child: Text('No file selected'))
: Center(child: Text(fileName!)),
//Button
onPressed: () async {
upLoadFile();
},

这是您需要的完整示例:

class FilePickerTest extends StatefulWidget {
const FilePickerTest({Key? key}) : super(key: key);
@override
State<FilePickerTest> createState() => _FilePickerTestState();
}
class _FilePickerTestState extends State<FilePickerTest> {
String _fileName = '';
@override
Widget build(BuildContext context) {
return Column(
children: [
Text(_fileName),
InkWell(
onTap: () {
upLoadFile();
},
child: Text('Select file'),
),
SizedBox(
height: 16,
),
InkWell(
onTap: () {
setState(() {
_fileName = '';
});
},
child: Text('Clear'),
),
],
);
}
void upLoadFile() async {
final results = await FilePicker.platform.pickFiles(
allowMultiple: false,
type: FileType.custom,
allowedExtensions: ['jpg', 'png'],
);
if (results != null) {
final path = results!.files.single.path!;
_fileName = results.files.single.name;
storage.uploadFile(path, fileName);
setState(() {});
print(_fileName);
} else {
// User canceled the picker
}
}
}

应该是这样的

final fileName = path.split('/').last;
print(fileName);

名称包含扩展类型

最新更新