当前位置: 首页 > 知识库问答 >
问题:

使用Google drive API获取文件大小

吕淮晨
2023-03-14

我试图列出google drive中的文件以及它们的大小&下面是我如何获得大小的方法

File file = service.files().get(file.getId()).setFields("size").execute();
file.getSize()

我知道从这个调用中获得的大小是不正确的,因为google drive只填充除了google docs以外的文件的文件大小,而sheet获取在android中使用google drive api在google drive上创建的文件的大小

HttpURLConnection conn = null;
        String url = "https://docs.google.com/a/document/d/1Gu7Q2Av2ZokZZyLjqBJHG7idE1dr35VE6rTuSii36_M/edit?usp=drivesdk";
        try {
            URL urlObj = new URL(url);
            conn = (HttpURLConnection) urlObj.openConnection();
            conn.setRequestMethod("HEAD");
            conn.getInputStream();
            System.out.println(conn.getContentLength());
        } catch (IOException e) {
            e.printStackTrace();
        } finally {
            conn.disconnect();
        }

我有办法确定文件大小吗?

共有1个答案

范承教
2023-03-14

找到了解决问题的办法。对于上传到google drive的文件,可以通过file.getSize()调用确定文件大小。对于Google应用程序,文件,如doc,spreadsheet,file.getsize()将返回null,因为它们不占用驱动器中的任何空间。因此,作为一种老练的方式,我以pdf形式导出&确定大小。下面是它的代码

try {
            Drive service = new Drive.Builder(HTTP_TRANSPORT, JSON_FACTORY, credential)
                        .setApplicationName("xyz")
                        .build();
            ByteArrayOutputStream outputStream = new ByteArrayOutputStream();
            service.files().export(fileId, "application/pdf")
                .executeMediaAndDownloadTo(outputStream);
            int fileSize = outputStream.toByteArray().length;
        } catch (Exception ex) {

        }
 类似资料:
  • 问题内容: 我查看了请求文档,但似乎什么也找不到。如何仅请求标题,以便评估文件大小? 问题答案: 发送HEAD请求: HEAD请求就像GET请求一样,仅下载标头。请注意,由服务器来实际满足您的HEAD请求。某些服务器只会响应GET请求,因此您必须发送GET请求并仅关闭连接,而不下载主体。其他时候,服务器永远不会指定文件的总大小。

  • 我需要下载一些大文件( 据我所读,有两种联系。数据和控制通道,其中数据通道似乎工作正常(我可以完全下载文件),但控制通道同时超时。我还了解到ftplib(和其他python ftp库)不适合大文件,可能只支持1GB左右的文件。这里有一个与此主题类似的问题:如何通过ftp(带监控)下载python中的大文件 我当前的代码如下所示: 我可以使用它或其他支持大文件的库吗?

  • 我不熟悉使用vertx,我正在使用vertx文件系统api来读取大文件。 但是RAM在读取时被消耗殆尽,资源在使用后甚至没有被刷新。vertx文件系统api还建议不要使用此方法读取非常大的文件,否则可能会耗尽可用的RAM。 除此之外还有其他选择吗?

  • 问题内容: 如何在Java中检索文件夹或文件的大小? 问题答案: 如果文件不存在,则以字节为单位返回文件的长度。没有内置的方法来获取文件夹的大小,你将不得不递归遍历目录树(使用代表目录的文件对象的方法)并为自己积累目录大小: 警告:此方法不足以用于生产。可能返回并导致。另外,它不考虑符号链接,并且可能具有其他故障模式。

  • 问题内容: 我尝试了几种方法来获取文件大小,但始终为零。 我在日志中: 问题答案: 使用而不是 +调用attr上的.fileSize()。 在Swift 2.0中,我们使用do try catch模式,如下所示: 在Swift 3.x / 4.0中:

  • 本文向大家介绍php获取远程文件大小,包括了php获取远程文件大小的使用技巧和注意事项,需要的朋友参考一下 本文实例讲述了php获取远程文件大小的方法,分享给大家供大家参考。具体实现方法如下: 希望本文所述对大家的php程序设计有所帮助,大家能够喜欢小便的文章,大家共同进步。