【发布时间】:2013-02-02 15:31:43
【问题描述】:
我正在使用 xdocreport 生成 WORD 文件的报告。
从生成的报告中,我创建了一个带有 MIME-TYPE "application/vnd.openxmlformats-officedocument.wordprocessingml.document" (MS WORD - DOCX) 的 InputStreamContent 以写入 Google Drive:
// create Word file stream using xdocreport
OutputStream2InputStream outputStream = new OutputStream2InputStream(); // buffer
report.process(context, outputStream);
// create inputstream for Google Drive
InputStreamContent inputStream = new InputStreamContent("application/vnd.openxmlformats-officedocument.wordprocessingml.document",
outputStream.getInputStream());
inputStream.setLength(outputStream.size());
编写 MSWORD 文档工作正常(CONVERT= FALSE):
File file = new File();
Insert insertOperation = service.files().insert(file, inputStream).setConvert(false);
file.setTitle("test.docx");
file.setMimeType(inputstream.getType());
File result = insertOperation.execute();
在我的 Google Drive 上创建了一个 WORD DOCX 文件。
使用 CONVERT=TRUE 编写相同的输入流失败
File file = new File();
Insert insertOperation = service.files().insert(file, inputStream).setConvert(true);
file.setTitle("test");
//file.setMimeType(inputstream.getType()); // what here ?
File result = insertOperation.execute();
结果
1.未设置 MIME 类型时: 新创建的文件 result 具有 0 字节 和 MIME-type: application/vnd.google-apps.kix
2.设置 mime 类型时: MIME-TYPE 设置为“application/vnd.google-apps.document”并且 convert = true,结果为 400: BAD REQUEST。
我做错了什么?
【问题讨论】:
标签: google-drive-api