gpt4 book ai didi

android - 在 flutter 中使用图像列表多重上传图像

转载 作者:IT王子 更新时间:2023-10-29 07:23:24 25 4
gpt4 key购买 nike

我是新手。我尝试制作应用程序以使用 flutter 上传一些图像。我已经成功地从图像选择器中选择了一些图像,但是当我尝试将数据写入 firebase 存储时,只有一张图像被成功上传。这是我的代码:

List<File> _imageList = [];
File _image;

Future uploadFile() async {
final FirebaseUser user = await FirebaseAuth.instance.currentUser();
final userId = user.uid;
final StorageReference firebaseStorageRef =
FirebaseStorage.instance.ref().child(userId).child('images');
final StorageUploadTask task = firebaseStorageRef.putFile(_image);
return task;
}

这是我选择和显示图像的代码

 Future getImageFromGallery() async {
var image = await ImagePicker.pickImage(source: ImageSource.gallery);
setState(() {
_image = image;
_imageList.add(_image);
});
}

List<Widget> builtImageDisplay() {
return [
Padding(
padding: const EdgeInsets.all(8.0),
child: new Center(
child: Padding(
padding: const EdgeInsets.all(15.0),
child: _imageList.length == 0
? new Image.asset('assets/images/format.jpg')
: GridView.count(
shrinkWrap: true,
primary: false,
crossAxisCount: 4,
mainAxisSpacing: 5.0,
crossAxisSpacing: 5.0,
children: _imageList.map((File file) {
return GestureDetector(
onTap: () {},
child: new GridTile(
child: new Image.file(
file,
fit: BoxFit.cover,
),
),
);
}).toList(),
),
),
),
)
];
}

最佳答案

上传多个图像文件的简单函数

import 'package:path/path.dart';
import 'package:path_provider/path_provider.dart';

Future<Null> _uploadImages() async {
_imageList.forEach((f) {
final StorageReference _ref = storageImageRef.child(basename(f.path));
final StorageUploadTask uploadTask = _ref.putFile(f);
});

关于android - 在 flutter 中使用图像列表多重上传图像,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54395370/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com