如何将图像上载到firebase存储中的文件夹
我正在编写一个应用程序,从gallery中选择一幅图像,并将其上传到firestore的文件夹中如何将图像上载到firebase存储中的文件夹,firebase,flutter,Firebase,Flutter,我正在编写一个应用程序,从gallery中选择一幅图像,并将其上传到firestore的文件夹中 await Future.forEach(_paths.entries, (v) async { String uid = Uuid().v1(); StorageReference imgReference = _storageReference.child("Form2").child(uid);
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中您必须在.child()中指定文件夹名称。比如:
.child(“/$folder”).child($fileName”)
例如:
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();
}您必须在.child()中指定文件夹名称。比如:
.child(“/$folder”).child($fileName”)
例如:
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();
}这是一段代码,用于将带有名称的图像上载到firebase。Sliderutils是一个具有getName()和getImageUrl()函数(getter和setter)的类
StorageReference=
mStorageRef.child(System.currentTimeMillis()+“”+getPath(filePath));
mStorageTask=Ref.putFile(文件路径)
.addOnSuccessListener(新建)
OnSuccessListener(){
@凌驾
成功时公共无效(UploadTask.TaskSnapshot TaskSnapshot){
Toast.makeText(MainActivity.this,“图像已成功上载”,Toast.LENGTH_LONG.show();
SliderUtils SliderUtils=新的SliderUtils(EditTextName.getText().toString().trim(),
taskSnapshot.getDownloadUrl().toString());
字符串uploadId=mDatabaseRef.push().getKey();
mDatabaseRef.child(uploadId).setValue(sliderUtils);
}
})
.addOnFailureListener(新的OnFailureListener(){
@凌驾
public void onFailure(@NonNull异常){
Toast.makeText(MainActivity.this,“图像上载失败”,Toast.LENGTH_SHORT.show();
}
})
这是一个将带有名称的图像上载到firebase的代码。Sliderutils是一个具有getName()和getImageUrl()函数(getter和setter)的类
StorageReference=
mStorageRef.child(System.currentTimeMillis()+“”+getPath(filePath));
mStorageTask=Ref.putFile(文件路径)
.addOnSuccessListener(新建)
OnSuccessListener(){
@凌驾
成功时公共无效(UploadTask.TaskSnapshot TaskSnapshot){
Toast.makeText(MainActivity.this,“图像已成功上载”,Toast.LENGTH_LONG.show();
SliderUtils SliderUtils=新的SliderUtils(EditTextName.getText().toString().trim(),
taskSnapshot.getDownloadUrl().toString());
字符串uploadId=mDatabaseRef.push().getKey();
mDatabaseRef.child(uploadId).setValue(sliderUtils);
}
})
.addOnFailureListener(新的OnFailureListener(){
@凌驾
public void onFailure(@NonNull异常){
Toast.makeText(MainActivity.this,“图像上载失败”,Toast.LENGTH_SHORT.show();
}
})