如何解决如何从 MediaHttpDownloader 获取内容长度又名文件大小? drive file.getSize() 总是返回 null
我想从 Gdrive 下载文件。所以我使用驱动器 API v3 (java)。
这里是代码片段。
Drive.Files.Get request = driveService.files().get(fileId);
// Get the file Metadata
File downloadFile = request.execute();
Long fileSize = downloadFile.getSize(); // always returns null.
OutputStream out = new FileOutputStream(fileName);
request.getMediaHttpDownloader().setProgressListener(
new DriveDownloadProgressListener(messageQueue));
request.executeMediaAndDownloadTo(out);
这里 downloadFile.getSize() 总是返回 null。 有没有办法从 MediaHttpDownloader 获取文件大小?
解决方法
我必须自己在请求中添加必填字段。
喜欢这个
Drive.Files.Get request = driveService.files().get(fileId).setFields("size");
File file = request.execute(); // contains only size field.Other fields will be empty
然后执行并得到预期的响应(它只发送你自己设置的字段)
例如,如果您需要文件的名称和大小。
Drive.Files.Get request = driveService.files().get(fileId).setFields("name,size"); // name and size
File file = request.execute(); // contains only name and size field.Other fields will be empty(respective get methods will return null only)
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。