在Flutter中,您可以使用`image_picker`插件来上传图片和视频。该插件允许用户从相机或图库中选择文件,并返回一个`File`对象。
要区分上传的是图片还是视频,您可以检查文件的扩展名。以下是一个简单的示例代码:
```
import 'dart:io';
import 'package:flutter/material.dart';
import 'package:image_picker/image_picker.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) {
if (_file.path.endsWith('.jpg') ||
_file.path.endsWith('.jpeg') ||
_file.path.endsWith('.png')) {
// Upload image
print('Uploading image...');
} else if (_file.path