没有后缀名的文件怎么判断类型

动态 未结 0 87
小小草
小小草 LV1 2023年9月23日 23:40 发表
如果文件没有后缀名,您可以尝试使用`flutter_file_utils`插件来获取文件的MIME类型。以下是一个简单的示例代码: ``` import 'dart:io'; import 'package:flutter/material.dart'; import 'package:image_picker/image_picker.dart'; import 'package:flutter_file_utils/flutter_file_utils.dart'; void main() => runApp(MyApp()); class MyApp extends StatelessWidget { @override Widget build(BuildContext context) { return MaterialApp( title: 'Upload Demo', home: UploadDemo(), ); } } class UploadDemo extends StatefulWidget { @override _UploadDemoState createState() => _UploadDemoState(); } class _UploadDemoState extends State { File _file; Future _pickImage(ImageSource source) async { final pickedFile = await ImagePicker().getImage(source: source); setState(() { _file = File(pickedFile.path); }); if (_file != null) { String mimeType = await FileUtils.getFileMimeType(_file.path); if (mimeType.startsWith('image/')) { // Upload image print('Uploading image...'); } else if (mimeType.startsWith('video/')) { // Upload video print('Uploading video...'); } else { // Unsupported file type print('Unsupported file type: $mimeType'); } } } @override Widget build(BuildContext context) { return Scaffold( appBar: AppBar( title: Text('Upload Demo'), ), body: Center( child: Column( mainAxisAlignment: MainAxisAlignment.center, children: [ _file == null ? Text('No file selected.') : Image.file(_file), SizedBox(height: 20), RaisedButton( onPressed: () => _pickImage(ImageSource.gallery), child: Text('Select Image'), ), ], ), ), ); } } ``` 在这个示例中,我们使用`flutter_file_utils`插件的`getFileMimeType`方法来获取文件的MIME类型。然后,我们检查MIME类型是否以`image/`或`video/`开头,并相应地上传文件。如果MIME类型不是图像或视频,则表示不支持该文件类型。
收藏(0)  分享
相关标签: 智能问答
问题没解决?让AI助手帮你作答 AI助手
0个回复
  • 消灭零回复