You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何修复Flutter Firebase Storage中的“UploadTask方法OnComplete不存在”错误?

解决Firebase Storage UploadTask.onComplete不存在的问题

Firebase Storage更新后,UploadTask的API发生变更,原有的onComplete方法已被移除。现在UploadTask本身实现了Future<TaskSnapshot>接口,直接通过await即可获取上传完成后的TaskSnapshot。

修改后的完整代码如下:

import 'dart:io';

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

class StorageServisi {
  Reference _storage = FirebaseStorage.instance.ref();

  Future<String> gonderiResmiYukle(File resimDosyasi) async {
    UploadTask yuklemeYoneticisi =
        _storage.child("resimler/gonderiler/gonderi.jpg").putFile(resimDosyasi);
    // 直接await UploadTask获取TaskSnapshot,替代原有的onComplete
    TaskSnapshot snapshot = await yuklemeYoneticisi;
    String yuklenenResimUrl = await snapshot.ref.getDownloadURL();
    return yuklenenResimUrl;
  }
}

修改说明

  • 移除yuklemeYoneticisi.onComplete调用,改为直接await yuklemeYoneticisi
  • 新版本中UploadTask会在上传完成后直接返回TaskSnapshot,无需通过onComplete回调获取

内容的提问来源于stack exchange,提问作者Yusuf Altunç

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.20 04:27:35