gpt4 book ai didi

java - 可以取消 Google 云端硬盘上传吗?

转载 作者:塔克拉玛干 更新时间:2023-11-02 08:07:09 25 4
gpt4 key购买 nike

我已经使用官方 API 编写了一个应用程序来上传到 Google 驱动器,这非常有效。但是我找不到取消上传的方法。我在 ASyncTask 中运行它,到目前为止,我已经尝试将驱动对象、文件路径、 token 和其他一些变量设为无。我也尝试过使 token 无效,但是这似乎只是将其从缓存中删除,实际上并没有使其在服务器端无效。我已经在 ASyncTask 上调用了 cancel,但是如果它在上传开始后被取消,似乎没有办法停止它。

我的问题是,如果用户开始上传一个 100mb 的文件,除了打开和关闭互联网连接之外,他们无法取消它,这是不切实际的。这是我的上传代码:

  java.io.File jFile = new java.io.File(path); //Does not get file just info
File body = setBody(jFile, mimeType);
try
{
java.io.File mediaFile = new java.io.File(path);
InputStreamContent mediaContent =
new InputStreamContent(mimeType,
new BufferedInputStream(new FileInputStream(mediaFile)));
mediaContent.setLength(mediaFile.length());
request = drive.files().insert(body, mediaContent);
request.getMediaHttpUploader().setProgressListener(new CustomProgressListener());
File file = request.execute();

确定有取消上传的方法吗?

最佳答案

好问题!我提出了取消媒体上传请求的功能请求:

https://code.google.com/p/google-api-java-client/issues/detail?id=671

但是,根据该库的当前设计,这可能是一个难以实现的功能。

要考虑的另一个选择是不使用 AsyncTask 而是自己实现多线程并中止正在运行的线程。不愉快,但可能是您现在唯一的选择。

关于java - 可以取消 Google 云端硬盘上传吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13634894/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com