【发布时间】:2019-06-28 21:15:35
【问题描述】:
我正在将图像上传/发送到 Firebase 存储和实时数据库。上传图片时如何获取当前日期和时间?
private void uploadImage() {
if (imgUrl != null) {
final StorageReference fileReference = mStorageRef.child(System.currentTimeMillis() + "." + getFileExtension(imgUrl));
mUploadTask = fileReference.putFile(imgUrl)
.addOnSuccessListener(new OnSuccessListener<UploadTask.TaskSnapshot>() {
@Override
public void onSuccess(UploadTask.TaskSnapshot taskSnapshot) {
Calendar calendar = Calendar.getInstance();
final String currentdate = DateFormat.getDateInstance().format(calendar.getTime());
SimpleDateFormat format = new SimpleDateFormat("HH:mm:ss");
String time = format.format(calendar.getTime());
Handler handler = new Handler();
handler.postDelayed(new Runnable() {
@Override
public void run() {
uploadProgress.setProgress(0);
}
}, 500);
fileReference.getDownloadUrl().addOnSuccessListener(new OnSuccessListener<Uri>() {
@Override
public void onSuccess(Uri uri) {
Notify upload = new Notify(imgDescription.getText().toString().trim(), uri.toString());
String uploadID = mDatabaseRef.push().getKey();
mDatabaseRef.child(uploadID).setValue(upload);
Toast.makeText(StudentNotify.this, "Upload successfully", Toast.LENGTH_LONG).show();
imgDescription.setText("");
}
});
}
})
.addOnFailureListener(new OnFailureListener() {
@Override
public void onFailure(@NonNull Exception e) {
Toast.makeText(StudentNotify.this, e.getMessage(), Toast.LENGTH_LONG).show();
}
})
.addOnProgressListener(new OnProgressListener<UploadTask.TaskSnapshot>() {
@Override
public void onProgress(UploadTask.TaskSnapshot taskSnapshot) {
double progress = (100.0 * taskSnapshot.getBytesTransferred() / taskSnapshot.getTotalByteCount());
uploadProgress.setProgress((int) progress);
}
});
} else {
Toast.makeText(StudentNotify.this, "No file selected", Toast.LENGTH_SHORT).show();
}
}
【问题讨论】:
-
我不知道你在问什么。你写的代码有什么问题?
-
我想把当前的日期和时间连同图片的url一起发送到firebase实时数据库。
标签: firebase firebase-realtime-database firebase-storage