当前位置: 首页 > 面试题库 >

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

栾鸣
2023-03-14
问题内容

我已经使用官方API编写了一个应用程序,可以将其上传到Google云端硬盘,效果很好。但是我还是找不到取消上传的方法。我正在ASyncTask中运行它,到目前为止,我已经尝试过使驱动器对象,文件路径,令牌和其他一些变量都没有。我也尝试过使令牌无效,但是看来这只会将其从缓存中删除,而实际上并没有使服务器端无效。我在ASyncTask上调用了cancel,但是一旦上传开始就被取消了,似乎没有办法停止它。

我的问题是,如果用户开始上传100mb的文件,则无法取消该文件,然后再打开和关闭Internet连接是不可行的。这是我的上传代码:

  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而是自己实现多线程并中止正在运行的线程。这并不令人愉快,但可能是您现在执行此操作的唯一选择。



 类似资料:
  • 问题内容: 我遵循以下文档以将文件上传到Google云端硬盘:https : //developers.google.com/drive/android/files 现在,每次我要上传文件时,都会出现Google云端硬盘的弹出窗口,问我将其上传到哪里以及哪个名字。我不希望弹出窗口,我想直接上传文件。 有什么方法可以做到这一点?我找不到任何文档。我也发现了这一点:https : //develope

  • 问题内容: 我正在尝试通过我的应用一次上传多个文件。它识别何时选择了2个或更多文件。但是,它只会将所选的第一个文件上传到我的驱动器。同样(尽管很小),我想知道如何将textarea字体更改为Times New Roman,以使其与其余字体保持一致。 代码 form.html 问题答案: 我知道这个问题很旧,但是找到它和相关的问题之后,我再也无法使多文件上传正常工作了。因此,在将我的头撞在墙上很多次

  • 问题内容: 我正在尝试授权我的应用程序与Google云端硬盘集成。Google文档提供了有关基于服务器的授权的详细信息以及各种服务器技术的代码示例。 还有一个JavaScript Google API库,该库支持授权。在Wiki的示例部分下方有一个代码片段,用于创建配置和调用authorize函数。我将范围更改为我认为需要驱动器的范围: 永远不会调用该回调函数(是的,已更正了GoogleAPI库的

  • 问题内容: 我想在Google云端硬盘中创建一个空的Google表格(仅使用元数据创建)。当我提到Google SpreadSheet API 文档时,它说要使用DocumentsList API,但已弃用,而是要求我使用Google Drive API。在云端硬盘API文档中,我找不到创建空工作表的任何方法。有人知道如何执行此操作吗? 问题答案: 您可以使用做这个驱动器的API被设置MIME类型

  • 问题内容: 我需要将某些文件类型从某些linux服务器备份到GDrive(不仅是可转换为GDocs格式的文件)。 用python脚本做到这一点的最简单,最优雅的方法是什么?与GDocs有关的任何解决方案都适用吗? 问题答案: 您可以使用Documents List API编写一个写入Drive的脚本: https://developers.google.com/google-apps/docume

  • 问题内容: 我尝试运行quickstart-sample,并且具有以下依赖性: 来自云端硬盘Wiki API页面 但是,当我尝试编译代码时,却缺少了。 要验证这一点,您只需要执行步骤2和3!在哪里可以找到该类,或者如何在示例中替换它? 问题答案: 可以在http://repo2.maven.org/maven2/com/google/http-client/google-http-client-