要将文件上传到Firebase云存储或Firestore,可以按照以下步骤进行操作:
配置Firebase项目:
添加Firebase到你的Android应用程序:
在你的Android应用程序中添加Firebase SDK依赖项:
buildscript {
repositories {
google()
jcenter()
}
dependencies {
// ...
classpath 'com.google.gms:google-services:4.3.10'
}
}
dependencies {
// ...
implementation 'com.google.firebase:firebase-storage:20.0.0'
// 或
implementation 'com.google.firebase:firebase-firestore:23.0.3'
}
apply plugin: 'com.google.gms.google-services'
在代码中上传文件:
FirebaseStorage storage = FirebaseStorage.getInstance();
StorageReference storageRef = storage.getReference();
StorageReference fileRef = storageRef.child("images/myImage.jpg");
UploadTask uploadTask = fileRef.putFile(Uri.fromFile(new File("path/to/file")));
uploadTask.addOnSuccessListener(new OnSuccessListener() {
@Override
public void onSuccess(UploadTask.TaskSnapshot taskSnapshot) {
// 文件上传成功
}
}).addOnFailureListener(new OnFailureListener() {
@Override
public void onFailure(@NonNull Exception e) {
// 文件上传失败
}
});
FirebaseStorage storage = FirebaseStorage.getInstance();
StorageReference storageRef = storage.getReference();
StorageReference fileRef = storageRef.child("images/myImage.jpg");
UploadTask uploadTask = fileRef.putFile(Uri.fromFile(new File("path/to/file")));
uploadTask.continueWithTask(new Continuation>() {
@Override
public Task then(@NonNull Task task) throws Exception {
if (!task.isSuccessful()) {
throw task.getException();
}
return fileRef.getDownloadUrl();
}
}).addOnCompleteListener(new OnCompleteListener() {
@Override
public void onComplete(@NonNull Task task) {
if (task.isSuccessful()) {
Uri downloadUri = task.getResult();
// 获取文件下载链接
} else {
// 获取下载链接失败
}
}
});
这些代码示例中的"path/to/file"应该替换为你要上传的文件的实际路径。另外,要确保你的应用程序具有正确的存储权限。如果你使用Firestore上传文件,请注意,Firestore只存储文件的元数据,而实际文件会被上传到Firebase云存储中。
上一篇:Android 的 coreLibraryDesugaring 是否提供了 API 等级 26 上尚未可用的任何 Java 功能?
下一篇:Android 的 HttpURLConnection 可以与 Https 进行通信,但无法与 Http 进行通信。