如何从设备获取或选择本地 GIF 文件

Posted

技术标签:

【中文标题】如何从设备获取或选择本地 GIF 文件【英文标题】:How to get or pick local GIF file from device 【发布时间】:2021-07-14 08:00:45 【问题描述】:

我已经对仅选择的 GIF 文件进行了很多研发,并且所有结果都只显示或显示 GIF 文件,但是 我只想从本地设备中挑选 GIF 文件,例如图片或视频。

【问题讨论】:

【参考方案1】:

您可以使用file_picker 包并将allowedExtensions 设置为gif

allowedExtensions: ['gif']

这是一个例子:

import 'dart:io';

import 'package:flutter/material.dart';
import 'package:file_picker/file_picker.dart';

void main() 
  runApp(MaterialApp(
    home: MyApp(),
  ));


class MyApp extends StatefulWidget 
  @override
  _MyAppState createState() => _MyAppState();


class _MyAppState extends State<MyApp> 
  var _selectedFile;
  String customAppLogoName;
  _openFileManager() async 
    FilePickerResult result = await FilePicker.platform.pickFiles(
      type: FileType.custom,
      allowedExtensions: ['gif'],
    );
    if (result != null) 
      PlatformFile selectedFile = result.files.first;
      setState(() 
        _selectedFile = File(selectedFile.path);
      );
    
  

  @override
  Widget build(BuildContext context) 
    return Scaffold(
      backgroundColor: Colors.white,
      appBar: AppBar(
        title: Text("File Picker"),
      ),
      floatingActionButton: FloatingActionButton(
        onPressed: () 
          _openFileManager();
        ,
        child: Icon(Icons.image),
      ),
      body: Center(
        child: Container(
          child: _selectedFile == null
              ? Column(
                  mainAxisAlignment: MainAxisAlignment.center,
                  children: [
                    Icon(
                      Icons.broken_image,
                      size: 100,
                    ),
                    Text('no image'),
                  ],
                )
              : Image(
                  image: FileImage(_selectedFile),
                ),
        ),
      ),
    );
  

结果:

【讨论】:

感谢您的回复,它的工作,但也可选择图像文件。

以上是关于如何从设备获取或选择本地 GIF 文件的主要内容,如果未能解决你的问题,请参考以下文章

如何从电影创建动画 .gif?

如何从UIWebView下载文件并再次打开

如何在ios的objective-c中从设备中选择任何文档文件

如何在 swift 4 中从图像选择器获取照片本地 url

如何从 HTML 输入类型“文件”或任何其他方式获取文件夹目录?

如何使用 AVPlayer 从数组中选择后播放下一首曲目