Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/firebase/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/flutter/10.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
文件未上载到firebase存储_Firebase_Flutter_Dart_Firebase Storage - Fatal编程技术网

文件未上载到firebase存储

文件未上载到firebase存储,firebase,flutter,dart,firebase-storage,Firebase,Flutter,Dart,Firebase Storage,更新:较小的文件(

更新:较小的文件(<1MB)似乎可以正常工作


我正试图将一个文件从Flatter应用程序上载到Firebase存储,但该文件未上载,uploadTask.onComplete立即完成。在尝试使用
return(wait-storageRef.getDownloadURL())获取URL之前,我不会收到任何错误

以下是相关代码:

\u上传文件(文件)异步{
字符串fileName=DateFormat('yy-MM-ddTH:MM:s').format(DateTime.now()).toString()+file.split('/').last;
StorageReference storageRef=FirebaseStorage.instance.ref().child(文件名);
StorageUploadTask uploadTask=storageRef.putFile(File(File));
等待上载Task.onComplete;
返回(等待storageRef.getDownloadURL());
}
错误:

I/flutter (20165): PlatformException(download_error, Object does not exist at location., null)
E/flutter (20165): [ERROR:flutter/lib/ui/ui_dart_state.cc(157)] Unhandled Exception: PlatformException(download_error, Object does not exist at location., null)
E/flutter (20165): #0      _AddNewsState._uploadFile (package:ny_skolapp/add_news.dart:39:7)
E/flutter (20165): <asynchronous suspension>
E/flutter (20165): #1      _AddNewsState._uploadNews (package:ny_skolapp/add_news.dart:49:25)
E/flutter (20165): #2      _AddNewsState.build.<anonymous closure> (package:ny_skolapp/add_news.dart:329:31)
E/flutter (20165): #3      _InkResponseState._handleTap (package:flutter/src/material/ink_well.dart:706:14)
E/flutter (20165): #4      _InkResponseState.build.<anonymous closure> (package:flutter/src/material/ink_well.dart:789:36)
E/flutter (20165): #5      GestureRecognizer.invokeCallback (package:flutter/src/gestures/recognizer.dart:182:24)
E/flutter (20165): #6      TapGestureRecognizer.handleTapUp (package:flutter/src/gestures/tap.dart:486:11)
E/flutter (20165): #7      BaseTapGestureRecognizer._checkUp (package:flutter/src/gestures/tap.dart:264:5)
E/flutter (20165): #8      BaseTapGestureRecognizer.handlePrimaryPointer (package:flutter/src/gestures/tap.dart:199:7)
E/flutter (20165): #9      PrimaryPointerGestureRecognizer.handleEvent (package:flutter/src/gestures/recognizer.dart:467:9)
E/flutter (20165): #10     PointerRouter._dispatch (package:flutter/src/gestures/pointer_router.dart:76:12)
E/flutter (20165): #11     PointerRouter._dispatchEventToRoutes.<anonymous closure> (package:flutter/src/gestures/pointer_router.dart:117:9)
E/flutter (20165): #12     _LinkedHashMapMixin.forEach (dart:collection-patch/compact_hash.dart:379:8)
E/flutter (20165): #13     PointerRouter._dispatchEventToRoutes (package:flutter/src/gestures/pointer_router.dart:115:18)
E/flutter (20165): #14     PointerRouter.route (package:flutter/src/gestures/pointer_router.dart:101:7)
E/flutter (20165): #15     GestureBinding.handleEvent (package:flutter/src/gestures/binding.dart:218:19)
E/flutter (20165): #16     GestureBinding.dispatchEvent (package:flutter/src/gestures/binding.dart:198:22)
E/flutter (20165): #17     GestureBinding._handlePointerEvent (package:flutter/src/gestures/binding.dart:156:7)
E/flutter (20165): #18     GestureBinding._flushPointerEventQueue (package:flutter/src/gestures/binding.dart:102:7)
E/flutter (20165): #19     GestureBinding._handlePointerDataPacket (package:flutter/src/gestures/binding.dart:86:7)
E/flutter (20165): #20     _rootRunUnary (dart:async/zone.dart:1138:13)
E/flutter (20165): #21     _CustomZone.runUnary (dart:async/zone.dart:1031:19)
E/flutter (20165): #22     _CustomZone.runUnaryGuarded (dart:async/zone.dart:933:7)
E/flutter (20165): #23     _invoke1 (dart:ui/hooks.dart:273:10)
E/flutter (20165): #24     _dispatchPointerDataPacket (dart:ui/hooks.dart:182:5)
E/flutter (20165): 

\u file.add(等待FilePicker.getFilePath(类型:FileType.ANY));

file
来自
FilePicker.getFilePath(type:FileType.ANY)
我没有收到任何关于该文件的错误,因此我知道该文件存在。

首先,您说在使用
return(等待storageRef.getDownloadURL())时出错你能确定它是哪一个错误吗

然后,您可以尝试以下代码上载文件并捕获错误:

Future\u上传文件(字符串文件路径)异步{
试一试{
最终字符串fileName=DateFormat('yy-MM-ddTH:MM:s').format(DateTime.now()).toString()+filePath.split('/').last;
final StorageReference storageRef=FirebaseStorage.instance.ref().child(文件名);
最终StorageUploadTask任务=storageRef.putFile(文件(文件路径));
return await(await task.onComplete).ref.getDownloadURL();
}捕获(错误){
打印(error.toString());
抛出错误。toString();
}
}

我使用过与此类似的代码,并且一直有效到现在。

有很多方法可以做到这一点。您可以遵循以下示例:据我所见,您的代码根本没有检查错误。如果上传失败,你认为这里会发生什么?你怎么知道呢?但我在运行终端时仍然会看到一个错误,不是吗?我尝试了try/catch和
.catchError()
,但运气不好。或者有没有其他方法来检查这个案例中的错误?此外,还有一个更新:较小的文件(<1MB)似乎可以正常工作。对不起,忘记了错误消息。我试过你的密码,但还是有同样的错误。我已经更新了我原来的帖子。你能不能也展示一下你的代码中你调用的
\u uploadFile(file)