android-studio - Flutter Web 问题:在 Firebase 存储上上传
问题描述
我正在尝试使用我的 Flutter Web App 上传图片,但我得到的是以下错误:
TypeError: dart.global.firebase.storage is not a function
at Object.storage$ [as storage] (http://localhost:64863/packages/firebase/src/top_level.dart.lib.js:90:100)
at product_card._ProductCardState.new._newProduct (http://localhost:64863/packages/delivery/admin_pages/product_card.dart.lib.js:2576:38)
at _newProduct.next (<anonymous>)
at http://localhost:64863/dart_sdk.js:37956:33
at _RootZone.runUnary (http://localhost:64863/dart_sdk.js:37810:58)
at _FutureListener.thenAwait.handleValue (http://localhost:64863/dart_sdk.js:32771:29)
at handleValueCallback (http://localhost:64863/dart_sdk.js:33319:49)
at Function._propagateToListeners (http://localhost:64863/dart_sdk.js:33357:17)
at _Future.new.[_completeWithValue] (http://localhost:64863/dart_sdk.js:33199:23)
at async._AsyncCallbackEntry.new.callback (http://localhost:64863/dart_sdk.js:33222:35)
at Object._microtaskLoop (http://localhost:64863/dart_sdk.js:38071:13)
at _startMicrotaskLoop (http://localhost:64863/dart_sdk.js:38077:13)
at http://localhost:64863/dart_sdk.js:33574:9
在 index.html 中,我在正文中有以下几行:
<script src="https://www.gstatic.com/firebasejs/7.17.1/firebase-app.js"></script>
<script src="https://www.gstatic.com/firebasejs/7.17.1/firebase-analytics.js"></script>
<script src="https://www.gstatic.com/firebasejs/7.17.1/firebase-auth.js"></script>
<script src="https://www.gstatic.com/firebasejs/7.17.1/firebase-firestore.js"></script>
<script src="main.dart.js" type="application/javascript"></script>
我已经尝试过 gstatic.com/firebasejs 的其他版本,但似乎没有任何效果。
颤振医生:
Doctor summary (to see all details, run flutter doctor -v):
[✓] Flutter (Channel beta, 1.24.0-10.2.pre, on Mac OS X 10.15.6 19G73 darwin-x64, locale it-IT)
[✓] Android toolchain - develop for Android devices (Android SDK version 30.0.1)
[✓] Xcode - develop for iOS and macOS (Xcode 11.6)
[✓] Chrome - develop for the web
[✓] Android Studio (version 4.1)
[✓] Connected device (2 available)
颤振升级:
Flutter is already up to date on channel beta
Flutter 1.24.0-10.2.pre • channel beta • https://github.com/flutter/flutter.git
Framework • revision 022b333a08 (4 weeks ago) • 2020-11-18 11:35:09 -0800
Engine • revision 07c1eed46b
Tools • Dart 2.12.0 (build 2.12.0-29.10.beta)
存储规则:
rules_version = ‘2’;
service firebase.storage {
match /b/{bucket}/o {
match /{allPaths=**} {
allow read, write: if request.auth!=null;
}
}
}
我在使用 Cloud Firestore 功能时没有问题,但是当我尝试使用时:
import 'package:firebase/firebase.dart' as fb;
...
fb.storage()...
我得到了我上面写的错误。
有谁知道这个的解决方案?
解决方案
推荐阅读
- java - SpringBoot Ant Matchers 终止于 DefaultSecurityFilterChain [创建过滤器链]
- node.js - 使用 vuejs 时无法在 IE 11 中运行 js 文件
- .net - 使用列表中的任何函数验证输入
- python - 不知道在里面放什么试试……除了……处理不存在的字符串
- c# - Visual Studio 2017 构建包 CLI
- amazon-web-services - 在 Zeppelin 笔记本段落中运行脚本片段时连接被拒绝
- node.js - 从 Nodejs10.x/expressjs 4.16.x/EJS 2.6.x 中的模块导出视图片段的方法?
- node.js - 如何使用 json-masker 为带有“-”的字段屏蔽 json?
- php - 如何在官方 docker php 映像上以非 root 用户身份运行 composer
- regex - UUID 字符串中第一个字母(包括该字母)后的正则表达式匹配