當試圖從Drive導出文件爲PDF流(來自gdoc)時,有時會得到一個空的InputStream字節數組(它看起來像是發生在大文件上,但是我無法確認!):Google Drive API在下載/導出文件時獲取空的ByteArray
InputStream mediaContent = service.files().export(fileId, mimetype).executeMediaAsInputStream();
if(!(mediaContent.available()>0)) {
throw new IOException("Media content empty, bytes expected");
}
不引發任何異常。我看不到文檔中的任何指定限制(https://developers.google.com/drive/v3/web/manage-downloads)。有沒有解決這個問題的方法?這是一個已知的問題嗎?
驅動API:Java客戶端版本V3-rev69-1.22.0
編輯
通過谷歌的OAuth 2.0遊樂場通常要求的作品,但有時會失敗,以及(由於沒有我的意思它返回http代碼200但是一個空的內容!)。 當使用斷點續傳媒體下載,我總是得到一個空的InputStream字節數組(1MB的塊):
Drive.Files.Export request = service.files().export(fileId, mimetype);
request.getMediaHttpDownloader().setProgressListener(new CustomProgressListener());
request.getMediaHttpDownloader().setChunkSize(Constants.CHUNK_SIZE);
request.getMediaHttpDownloader().setDirectDownloadEnabled(false);
InputStream mediaContent = request.executeMediaAsInputStream();
但它不拋出任何異常(返回碼200以及)。有解決方案嗎?
該文件是否大於5MB? – noogui
嗨noogui,謝謝你的回覆。由於它是Google文檔,因此Google雲端硬盤中沒有指定大小。如果我通過Drive UI將它下載爲PDF,我會得到一個382 Ko的文件。 –