Google云端硬盘:文件大小为空

aGO*_*aGO 6 google-drive-api

当我尝试通过Google云端硬盘上的getFileSize()获取文件大小时,结果为空.我知道当文件没有存储在Drive但文件存储在Drive上时,结果可以为null(downloadUrl与null不同).

    Drive lService = new Builder(new NetHttpTransport(), new JacksonFactory(), lCredential).setApplicationName("TODO").build();
    FileList files = lService.files().list().execute();

    List<FileDTO> lResult = new ArrayList<FileDTO>();
    for (File lFile : files.getItems()) {
        DriveFileDTO lFileDTO = new DriveFileDTO();
        lFileDTO.setName(lFile.getTitle());
        lFileDTO.setMimeType(lFile.getMimeType());
        lFileDTO.setSize(lFile.getFileSize()); // <-- FileSize = NULL

        lFileDTO.setUrl(lFile.getDownloadUrl());

        lResult.add(lFileDTO);
    }
Run Code Online (Sandbox Code Playgroud)

你能帮助我吗?

谢谢!前!

小智 -1

调用getHeaders().GetContentLength()HttpResponse 类(代码假设myurl是您的 url):

HttpResponse resp = service.getRequestFactory().buildGetRequest(new GenericUrl(myurl)).execute();
Log.v("abc","file size is : " + resp.getHeaders().getContentLength());
Run Code Online (Sandbox Code Playgroud)