Firebase Android:文件上传取消

5
< p > uploadTask.cancel() 只适用于大文件吗?我正在尝试上传一个文件,它可以工作,但同时文件上传应该是可取消的,在我的情况下,即使我取消了文件上传,小文件上传仍然在进行。

1个回答

5
可能发生的情况是,小文件上传速度非常快,当您调用cancel()时,它们已经被上传。您没有提供任何代码,但我认为您是在按钮的单击事件中执行uploadTask.cancel()。因此,我建议您在取消任务之前检查任务是否已完成。如果已经完成,可以删除小文件。您可以使用以下代码实现:
```java if (uploadTask.isComplete()) { smallFile.delete(); } ```
    if (!uploadTask.isComplete()) {
        //Upload is not complete yet, let's cancel
        uploadTask.cancel();
    } else {
        //Upload is complete, but user wanted to cancel. Let's delete the file
        uploadTask.snapshot.ref.delete();
        // storageRef.delete(); // will delete all your files
    }

1
storageRef.delete(); 会删除我的存储中的所有文件吗?这是我的存储引用的样子:StorageReference storageRef = storage.getReferenceFromUrl(Constants.fbStoragePathImage); 这是我将其上传到存储的方式:UploadTask uploadTask = storageRef.child(pictureRefName).putFile(fileUri); - Phuluso Ramulifho
2
我只是以“storageRef”为例。但你是正确的,它将删除你所有的文件。你应该使用“storagetRef.child(pictureRefName).delete()”代替。 - Rosário Pereira Fernandes

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接