首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何将图像上传到firebase存储中的文件夹

如何将图像上传到firebase存储中的文件夹
EN

Stack Overflow用户
提问于 2019-08-10 02:19:44
回答 2查看 767关注 0票数 1

我正在写一个应用程序,它可以从图库中选择一张图片并上传到firestore的文件夹中。

代码语言:javascript
复制
await Future.forEach(_paths.entries, (v) async {
                        String uid = Uuid().v1();
                        StorageReference imgReference = 
_storageReference.child("Form2").child(uid);
                        StorageUploadTask task = imgReference.putFile(
                            File(v.value)
                        );
                        StorageTaskSnapshot downloadURL = await 
task.onComplete;
                        String value = await downloadURL.ref.getDownloadURL();
                    paths[uid] = value;
                  }

图像未上载到文件夹中。但它是直接上传到firestore中的

EN

回答 2

Stack Overflow用户

发布于 2019-08-10 02:29:15

您必须在.child()中指定文件夹名称。比如:.child("/$folder").child("$fileName")

示例:

代码语言:javascript
复制
    StorageReference ref = FirebaseStorage.instance.ref().child('/$folder').child(fileName);
    StorageUploadTask uploadTask = ref.putData(imageData);
    print('Upload triggered in the background.');
    ...

    return await (await uploadTask.onComplete).ref.getDownloadURL();

}

票数 0
EN

Stack Overflow用户

发布于 2019-08-10 03:36:37

这是一段将带有名称的图像上传到firebase的代码。Sliderutils是一个具有getName()和getImageUrl()函数(getters和setters)的类。

代码语言:javascript
复制
StorageReference Ref= 
mStorageRef.child(System.currentTimeMillis()+"."+getPath(filePath));

        mStorageTask = Ref.putFile(filePath)
            .addOnSuccessListener(new 
OnSuccessListener<UploadTask.TaskSnapshot>() {
                    @Override
                    public void onSuccess(UploadTask.TaskSnapshot taskSnapshot) {
                        Toast.makeText(MainActivity.this, "Image uploaded successfully.", Toast.LENGTH_LONG).show();

                        SliderUtils sliderUtils = new SliderUtils(EditTextName.getText().toString().trim(),
                                taskSnapshot.getDownloadUrl().toString());
                        String uploadId = mDatabaseRef.push().getKey();
                        mDatabaseRef.child(uploadId).setValue(sliderUtils);
                }
            })
            .addOnFailureListener(new OnFailureListener() {
                    @Override
                    public void onFailure(@NonNull Exception exception) {
                        Toast.makeText(MainActivity.this,"Image upload failed.",Toast.LENGTH_SHORT).show();
                }
            })
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/57435335

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档