flutter压缩图片上传

本文介绍了在Flutter中如何进行图片压缩,以避免大图片导致的旧设备闪退问题。推荐了一个受欢迎的dart插件,并提供了添加依赖和使用代码的示例。此外,还提及了如何制作与上线小程序的相关资源获取途径。
摘要由CSDN通过智能技术生成

前言:

在android原生中比较常用的是luban压缩,当然,flutter版本也有luban压缩,
通过一些资料搜索,luban压缩是直接通过dart进行压缩的,在针对一些大图片,动不动就12-20m的图片,在部分旧手机的会直接出现闪退的情况。

当然,上面说得可能也不一定正确,下面我自己使用的是pub上比较popular的插件:flutter_image_compress: ^0.7.0

使用方式:

  1. pubspec.yaml 添加依赖,如下:
    2.

  2. 使用命令:pub packages get

  3. 在上传的地方使用代码:

    Utils.showLoading(context, text: '正在压缩上传中,请耐心等待....');
    for (File item in assets) {
   
      final Directory _temp = await getTemporaryDirectory();
      final String _path = _temp.path;
      var path = item.path;
      var name = path.substring(path.lastIndexOf
Flutter提供了多种方式来进行图片压缩,以下是其中几种常用的方法: 1. 使用flutter_image_compress库:这是一个Flutter插件,可以用于对图片进行压缩。你可以通过在pubspec.yaml文件中添加依赖来使用该库。使用该库的示例代码如下: ```dart import 'package:flutter_image_compress/flutter_image_compress.dart'; Future<void> compressImage(String imagePath) async { final result = await FlutterImageCompress.compressWithFile( imagePath, quality: 85, // 设置压缩质量,范围为0-100 ); if (result != null) { // 压缩成功,result为压缩后的图片数据 // 可以将result保存到文件或上传到服务器 } else { // 压缩失败 } } ``` 2. 使用flutter_native_image库:这是另一个Flutter插件,可以用于对图片进行压缩和调整大小。你可以通过在pubspec.yaml文件中添加依赖来使用该库。使用该库的示例代码如下: ```dart import 'package:flutter_native_image/flutter_native_image.dart'; Future<void> compressImage(String imagePath) async { final compressedFile = await FlutterNativeImage.compressImage( imagePath, quality: 85, // 设置压缩质量,范围为0-100 ); if (compressedFile != null) { // 压缩成功,compressedFile为压缩后的图片文件 // 可以将compressedFile保存到文件或上传到服务器 } else { // 压缩失败 } } ``` 3. 使用第三方云存储服务:你还可以使用第三方云存储服务,如七牛云、阿里云等,它们提供了图片处理的API,可以通过调用API来实现图片压缩
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值