当前位置: 首页 > 知识库问答 >
问题:

firebase_storage,位置不应该是一个完整的URL., {}, null)

微生旻
2023-03-14

我试图通过firestorage上传图像时遇到问题。

此上传功能:




 Future uploadFile() async {
    int i = 1;
    final String fileName = DateTime.now().toString();

    for (var img in _image) {
      setState(() {
        val = i / _image.length;
      });

   
      FirebaseStorage  storage = FirebaseStorage.instance;

      Reference ref = FirebaseStorage.instance.ref('gs://face14-5d6e2.appspsot.com').child(fileName);


      File file = File(img.path);

      try {
        await ref.putFile(file);
      } on FirebaseException catch (e) {
        print(e);
      }

    }
  }


/flutter(13708):[firebase_storage/未知]位置不应该是完整的URL。I/flutter(13708): /data/user/0/com.example.face1/缓存/image_picker3492941265752856582.jpgE/flutter(13708):[ERROR: flutter/lib/ui/ui_html" target="_blank">dart_state.cc(199)]Un的异常:平台异常(firebase_storage,位置不应该是一个完整的URL., {}, null)E/flutter(13708):#0标准方法odec.decode信封(软件包: flutter/src/service/message_codecs.dart:597: 7)E/flutter(13708):#1方法频道。_invokeMethod(软件包: flutter/src/service/platform_channel.dart:158: 18)E/flutter(13708): E/flutter(13708):I/flutter(13708):[firebase_storage/未知]位置不应该是完整的URL。I/flutter(13708): /data/user/0/com.example.face1/缓存/image_picker1191392770962444186.jpgE/flutter(13708):[ERROR: flutter/lib/ui/ui_dart_state.cc(199)]Un的异常:平台异常(firebase_storage,位置不应该是一个完整的URL., {}, null)E/flutter(13708):#0标准方法odec.decode信封(软件包: flutter/src/service/message_codecs.dart:597: 7)E/flutter(13708):#1方法频道。_invokeMethod(软件包: flutter/src/service/platform_channel.dart:158: 18)E/flutter(13708): E/flutter(13708):I/flutter(13708):[firebase_storage/未知]位置不应该是完整的URL。

共有2个答案

花阳秋
2023-03-14

我已经检查了你的代码,并通知你没有遵循一些指令来实现flutter和Firebase存储。

请先参考此链接如何在flutter中实现云存储

第二,在fire存储中上载文件需要很多秒,因此需要较长的延迟时间。

我会把我的密码给你

class ImageUpload extends StatefulWidget {
  @override
  _ImageUploadState createState() => _ImageUploadState();
}

class _ImageUploadState extends State<ImageUpload> {
  String imageUrl;

  @override
  Widget build(BuildContext context) {
    backgroundColor: Colors.white,
    return Scaffold(  
      appBar: AppBar(
        title: Text('Upload Image', style: TextStyle(color: Colors.black87, fontWeight: FontWeight.bold),),
        centerTitle: true,
        elevation: 0.0,
        backgroundColor: Colors.white,
      ),
      body: Container()
   );
  }
}

函数将图像上载到Firebase存储在此,我们将实现一个名为uploadImage的函数,该函数将包含从库中选择图像到将其上载到Firebase存储到上载后在图像占位符部分查看图像的所有配置。

上载代码段:

uploadImage() async {
    final _firebaseStorage = FirebaseStorage.instance;
    final _imagePicker = ImagePicker();
    PickedFile image;
    //Check Permissions
    await Permission.photos.request();

    var permissionStatus = await Permission.photos.status;

    if (permissionStatus.isGranted){
      //Select Image
      image = await _imagePicker.getImage(source: ImageSource.gallery);
      var file = File(image.path);

      if (image != null){
        //Upload to Firebase
        var snapshot = await _firebaseStorage.ref()
        .child('images/imageName')
        .putFile(file).onComplete;
        var downloadUrl = await snapshot.ref.getDownloadURL();
        setState(() {
          imageUrl = downloadUrl;
        });
      } else {
        print('No Image Path Received');
      }
    } else {
      print('Permission not granted. Try Again with permission access');
    }
  }

直到下一次,伙计们,快乐编码!

宋嘉懿
2023-03-14

查看文档(正如错误所说),您不需要传递gs://域。tld参考中的零件。

Reference ref = FirebaseStorage.instance.ref('/path/to/filename.txt');

这应该行得通。或者,您可以尝试以下方法:

Reference ref = FirebaseStorage.instance.ref()
                    .child('path')
                    .child('to')
                    .child('filename.txt');
 类似资料:
  • 问题内容: 有没有办法获得完整的 Django URL配置? 例如,Django的调试404页面未显示包含的url配置,因此这不是完整的配置。 答:感谢Alasdair,这是一个示例脚本: 问题答案: Django是Python,因此内省是你的朋友。 在外壳中,导入。通过循环浏览并尽可能深入地查看所包括的url配置的各个层,你可以构建完整的url配置。 该列表包含和对象。 对于一个对象,你可以使用

  • 我想通过连接到另一个url再次解析从解析中获得的值。我怎么修理它? 从scrapy导入蜘蛛从scrapy.selector导入选择器 从堆栈.items导入堆栈项 类StackSpider(Spider):name=“stack”allowed_domains=[“*”]global n#n=1997 start_url=['https://www.melon.com/chart/age/list

  • 本文向大家介绍配置一个vue3.0项目的完整步骤,包括了配置一个vue3.0项目的完整步骤的使用技巧和注意事项,需要的朋友参考一下 说起来有点丢人,我已经使用vue好久了,但是怎么从0开始配置一个vue项目,每次还是要百度。这次决定写个博客,加强下记忆,如果再记不住就直播自己的女朋友洗澡。 以下以新建一个图书管理项目为例。我使用vue3新建项目,对于创建一个项目来说,vue3真的比vue2简单很多

  • 问题内容: 我有以下JPQL请求; 但它显示以下错误: 我的问题是什么原因? 问题答案: 行之间没有空格 还要检查?3参数是否为空列表

  • 5.6 一个完整的流程 到之前为止,我们了解了URL和抽取相关API,一个爬虫已经基本编写完成了。 @TargetUrl("https://github.com/\\w+/\\w+") @HelpUrl("https://github.com/\\w+") public class GithubRepo { @ExtractBy(value = "//h1[@class='entry-t

  • 我想要一个完整的未来,只发出完成的信号(例如,我没有返回值)。 我可以将CompletableFuture实例化为: 但是我应该向完整的方法提供什么呢?例如,我不能做