驱动REST API插入错误,错误显示请求太长

时间:2015-04-07 12:54:19

标签: java google-app-engine google-drive-api

我收到错误,因为请求太大400 OK执行以下代码,

 File body = new File();
    body.setTitle(filename);
    body.setDescription("");
    body.setMimeType(info.getContentType());
    body.setFileSize(size);
    body.setMd5Checksum(chk);
    body.set("content", myFile);

    if (parentId != null && parentId.length() > 0) {
        body.setParents(Arrays.asList(new ParentReference().setId(parentId
                .trim().toString())));
    }
    ByteArrayContent content = new ByteArrayContent(info.getContentType(),
            myFile);
    File upfile = service.files().insert(body, content).execute();

我在插入时遇到错误。我只更新4 MB文件到Drive。

请给我解决方案,以便任何改变方式来执行此功能。

2 个答案:

答案 0 :(得分:0)

使用特定于较大文件的Resumable Upload:)

答案 1 :(得分:0)

您可以设置可恢复的上传,配置Java库的MediaHttpUploader

insert.getMediaHttpUploader().setDirectUploadEnabled(false);
insert.getMediaHttpUploader().setChunkSize(MediaHttpUploader.MINIMUM_CHUNK_SIZE);

通过这种方式,上传的分块由MediaHttpUploader

在内部管理

正如您在documentation中所看到的,您还可以设置自定义MediaHttpUploaderProgressListener来监控上传