[英]How to delete image from firebase storage in flutter
How to delete the image from firebase storage in the flutter如何在flutter中从firebase存储中删除图像
Padding(
padding: const EdgeInsets.all(12.0),
child: Container(
child: InkWell(
onTap: (){
Widget cancelButton = FlatButton(
child: Text("Cancel"),
onPressed: () {
Navigator.pop(context);
},
);
Widget continueButton = FlatButton(
child: Text("Continue"),
onPressed: () async{
final FirebaseStorage storage = FirebaseStorage(storageBucket: 'gs://djgwalior-15404.appspot.com/');
await storage.ref().child('birthday/'+snapshot.data[index].data['name']+'.jpeg').delete();
Firestore.instance.collection("birthday")
.document(snapshot.data[index].documentID)
.delete().whenComplete((){
Navigator.pop(context);
Scaffold.of(context).showSnackBar(SnackBar(content: Text("Booking Done")));
}).catchError((e){
debugPrint(e);
});
},
);
// set up the AlertDialog
AlertDialog alert = AlertDialog(
title: Text("Delete Item"),
content: Text("Are you sure?"),
actions: [
cancelButton,
continueButton,
],
);
// show the dialog
showDialog(
context: context,
builder: (BuildContext context) {
return alert;
},
); },
child: Icon(Icons.delete, color: Colors.red,)),
),
)
Error:错误:
E/StorageException(11472): StorageException has occurred.
E/StorageException(11472): Object does not exist at location.
E/StorageException(11472): Code: -13010 HttpResult: 404
E/StorageException(11472): { "error": { "code": 404, "message": "Not Found. Could not delete object", "status": "DELETE_OBJECT" }}
E/StorageException(11472): java.io.IOException: { "error": { "code": 404, "message": "Not Found. Could not delete object", "status": "DELETE_OBJECT" }}
E/StorageException(11472): at com.google.firebase.storage.network.NetworkRequest.parseResponse(com.google.firebase:firebase-storage@@17.0.0:455)
E/StorageException(11472): at com.google.firebase.storage.network.NetworkRequest.parseErrorResponse(com.google.firebase:firebase-storage@@17.0.0:435)
E/StorageException(11472): at com.google.firebase.storage.network.NetworkRequest.processResponseStream(com.google.firebase:firebase-storage@@17.0.0:426)
E/StorageException(11472): at com.google.firebase.storage.network.NetworkRequest.performRequest(com.google.firebase:firebase-storage@@17.0.0:280)
E/StorageException(11472): at com.google.firebase.storage.network.NetworkRequest.performRequest(com.google.firebase:firebase-storage@@17.0.0:294)
E/StorageException(11472): at com.google.firebase.storage.internal.ExponentialBackoffSender.sendWithExponentialBackoff(com.google.firebase:firebase-storage@@17.0.0:70)
E/StorageException(11472): at com.google.firebase.storage.internal.ExponentialBackoffSender.sendWithExponentialBackoff(com.google.firebase:firebase-storage@@17.0.0:62)
E/StorageException(11472): at com.google.firebase.storage.DeleteStorageTask.run(com.google.firebase:firebase-storage@@17.0.0:58)
E/StorageException(11472): at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1162)
E/StorageException(11472): at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:636)
E/StorageException(11472): at java.lang.Thread.run(Thread.java:764)
E/flutter (11472): [ERROR:flutter/lib/ui/ui_dart_state.cc(148)] Unhandled Exception: PlatformException(deletion_error, Object does not exist at location., null)
E/flutter (11472): #0 StandardMethodCodec.decodeEnvelope (package:flutter/src/services/message_codecs.dart:564:7)
E/flutter (11472): #1 MethodChannel.invokeMethod (package:flutter/src/services/platform_channel.dart:302:33)
E/flutter (11472): <asynchronous suspension>
E/flutter (11472): #2 StorageReference.delete (package:firebase_storage/src/storage_reference.dart:152:10)
E/flutter (11472): #3 _Birthday_showState._view.<anonymous closure>.<anonymous closure> (package:getbookings/birthday_show.dart:225:118)
E/flutter (11472): <asynchronous suspension>
E/flutter (11472): #4 _InkResponseState._handleTap (package:flutter/src/material/ink_well.dart:511:14)
E/flutter (11472): #5 _InkResponseState.build.<anonymous closure> (package:flutter/src/material/ink_well.dart:566:30)
E/flutter (11472): #6 GestureRecognizer.invokeCallback (package:flutter/src/gestures/recognizer.dart:166:24)
E/flutter (11472): #7 TapGestureRecognizer._checkUp (package:flutter/src/gestures/tap.dart:240:9)
E/flutter (11472): #8 TapGestureRecognizer.handlePrimaryPointer (package:flutter/src/gestures/tap.dart:177:9)
E/flutter (11472): #9 PrimaryPointerGestureRecognizer.handleEvent (package:flutter/src/gestures/recognizer.dart:436:9)
E/flutter (11472): #10 PointerRouter._dispatch (package:flutter/src/gestures/pointer_router.dart:73:12)
E/flutter (11472): #11 PointerRouter.route (package:flutter/src/gestures/pointer_router.dart:101:11)
E/flutter (11472): #12 _WidgetsFlutterBinding&BindingBase&GestureBinding.handleEvent (package:flutter/src/gestures/binding.dart:221:19)
E/flutter (11472): #13 _WidgetsFlutterBinding&BindingBase&GestureBinding.dispatchEvent (package:flutter/src/gestures/binding.dart:199:22)
E/flutter (11472): #14 _WidgetsFlutterBinding&BindingBase&GestureBinding._handlePointerEvent (package:flutter/src/gestures/binding.dart:156:7)
E/flutter (11472): #15 _WidgetsFlutterBinding&BindingBase&GestureBinding._flushPointerEventQueue (package:flutter/src/gestures/binding.dart:102:7)
E/flutter (11472): #16 _WidgetsFlutterBinding&BindingBase&GestureBinding._handlePointerDataPacket (package:flutter/src/gestures/binding.dart:86:7)
E/flutter (11472): #17 _rootRunUnary (dart:async/zone.dart:1136:13)
E/flutter (11472): #18 _CustomZone.runUnary (dart:async/zone.dart:1029:19)
E/flutter (11472): #19 _CustomZone.runUnaryGuarded (dart:async/zone.dart:931:7)
E/flutter (11472): #20 _invoke1 (dart:ui/hooks.dart:233:10)
E/flutter (11472): #21 _dispatchPointerDataPacket (dart:ui/hooks.dart:154:5)
E/flutter (11472):
The function to delete the object from storage is correct.从存储中删除对象的功能是正确的。 You may want to verify if the path to the object is correct or if the object still exists.
您可能想要验证对象的路径是否正确或对象是否仍然存在。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.