java - 尝试上传使用 Android 扫描库扫描的图像时出现存储异常
问题描述
我正在尝试将扫描的文件(使用 android 文档扫描库)存储到 FirebaseStorage,但出现存储异常,我在线尝试了所有答案,但没有一个适合我。
我正在尝试将扫描的文件(使用 android 文档扫描库)存储到 FirebaseStorage,但出现存储异常,我在线尝试了所有答案,但没有一个适合我。我可以在firebase实时数据库中插入数据,但是当它调用函数上传文件时,我得到以下异常:
错误如下:
E/UploadTask: could not locate file for uploading:content://media/external/images/media/47608
E/StorageException: StorageException has occurred.
An unknown error occurred, please check the HTTP result code and inner exception for server response.
Code: -13000 HttpResult: 0
E/StorageException: No entry for content://media/external/images/media/47608
java.io.FileNotFoundException: No entry for content://media/external/images/media/47608
at android.database.DatabaseUtils.readExceptionWithFileNotFoundExceptionFromParcel(DatabaseUtils.java:149)
at android.content.ContentProviderProxy.openTypedAssetFile(ContentProviderNative.java:692)
at android.content.ContentResolver.openTypedAssetFileDescriptor(ContentResolver.java:1137)
at android.content.ContentResolver.openAssetFileDescriptor(ContentResolver.java:958)
at android.content.ContentResolver.openInputStream(ContentResolver.java:678)
at com.google.firebase.storage.UploadTask.<init>(com.google.firebase:firebase-storage@@16.0.5:118)
at com.google.firebase.storage.StorageReference.putFile(com.google.firebase:firebase-storage@@16.0.5:260)
at io.zentechgh.dms.mobile.app.fragment.AddDocumentFragment.uploadDocumentFile(AddDocumentFragment.java:362)
at io.zentechgh.dms.mobile.app.fragment.AddDocumentFragment.access$000(AddDocumentFragment.java:60)
at io.zentechgh.dms.mobile.app.fragment.AddDocumentFragment$2.onComplete(AddDocumentFragment.java:334)
at com.google.android.gms.tasks.zzj.run(Unknown Source)
at android.os.Handler.handleCallback(Handler.java:815)
at android.os.Handler.dispatchMessage(Handler.java:104)
at android.os.Looper.loop(Looper.java:207)
at android.app.ActivityThread.main(ActivityThread.java:5763)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:789)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:679)
E/StorageException: StorageException has occurred.
An unknown error occurred, please check the HTTP result code and inner exception for server response.
Code: -13000 HttpResult: 0
以下是上传文档的代码块:
// method to upload the document file only
private void uploadDocumentFile(){
final StorageReference documentFileRef = FirebaseStorage.getInstance()
.getReference(" Documents /");
if(documentUri != null){
documentFileRef.putFile(documentUri).addOnSuccessListener(new OnSuccessListener<UploadTask.TaskSnapshot>() {
@Override
public void onSuccess(UploadTask.TaskSnapshot taskSnapshot) {
documentFileRef.getDownloadUrl().addOnSuccessListener(new OnSuccessListener<Uri>() {
@Override
public void onSuccess(Uri uri) {
// getting image uri and converting into string
Uri downloadUrl = uri;
documentUrl = downloadUrl.toString();
}
});
}
}).addOnFailureListener(new OnFailureListener() {
@Override
public void onFailure(@NonNull Exception e) {
// display an error message
Toast.makeText(applicationContext, " Failed : " + 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());
progressDialog.setMessage("Uploaded "+(int)progress+"%");
}
});;
}
}
我想成功地将文件上传到存储。
解决方案
推荐阅读
- amazon-web-services - 调用 amazonSQS.deleteMessage(queueURL,receiptHandle) 时抛出 javax.xml.stream.XMLStreamException 异常
- ffmpeg - 录制窗口并通过 HLS 流式传输
- javascript - 消息有时未定义 discord.js v12
- kubernetes - 如何使用替代 kube 配置文件
- python - 使用字典生成的数据框的数据框集单元格问题
- z3 - Z3 SMT Sovler 中的汉明权重方程
- python - 如何解决文本扩展不合适的结果
- url - URL显示服务器的IP
- javascript - 带有javascript的父模型中的Django访问id字段
- performance - 使用 Haskell 查找 LCS 的性能问题