Drive Quickstart:在Java示例中运行Drive App可以正常上传文件。我想使用java将文件从Gdrive下载到本地系统。 下载时会给出一个方法
private static InputStream downloadFile(Drive service, File file) {
if (file.getDownloadUrl() != null && file.getDownloadUrl().length() > 0) {
try {
HttpResponse resp =
service.getRequestFactory().buildGetRequest(new GenericUrl(file.getDownloadUrl())).execute();
return resp.getContent();
} catch (IOException e) {
// An error occurred.
e.printStackTrace();
return null;
}
} else {
// The file doesn't have any content stored on Drive.
return null;
}
}
以上方法,我该如何投入?从哪里我输入?任何人都可以像Quickstart上传类一样提供完整的下载代码。
任何帮助将不胜感激。
答案 0 :(得分:0)
你可以使用google drive api并发送Http get请求,你可以看到这个教程
答案 1 :(得分:0)
谢谢Hanan它工作正常。通过使用retrieveAllFiles(),我可以列出所有文件。我已经使用下面的代码将检索到的文档存储在我的本地。这是一个正确的下载方式。
for(File f:result){
i++;
System.out.println("File Name==>"+f.getTitle());
System.out.println("File Id==>"+f.getId());
System.out.println("File ext==>"+f.getFileExtension());
System.out.println("File size==>"+f.getFileSize());
InputStream in = downloadFile(service,f);
byte b[] = new byte[in.available()];
in.read(b);
java.io.File ff = new java.io.File("/home/test/Desktop/gdocs/"+f.getTitle());
FileOutputStream fout = new FileOutputStream(ff);
fout.write(b);
fout.close();
}
它将所有文档存储在本地。文本(.txt)文件在我的本地正常打开,但图像文件或pdf文件未正确打开。它提供了一些错误消息,如文件已损坏。图像或pdf文档中没有内容如何获取内容并存储它。任何建议