这是我上传文件的代码:
private function addFile(File $file, $folderProject, User $user) {
$fileToUpload = new Google_DriveFile();
$fileToUpload->setTitle($file->getName());
//set mime type
$fileToUpload->setMimeType($file->getMimeType());
//build parent and set id
$parent = new Google_ParentReference();
$parent->setId($folderProject->getId());
//set parent to file
$fileToUpload->setParents(array($parent));
$data = file_get_contents($file->getPath());
$createdFile = $this->service->files->insert($fileToUpload, array(
'data' => $data,
'mimeType' => $file->getMimeType(),
));
}
例如,当我使用此 PHP 代码上传 docx 时,该文件附加在 Google Drive 网站上不可读(它显示了 docx 的 XML 结构),并且它在我的 Google Drive 文件夹中显示如下:
当我尝试直接通过 Google Drive UI 上传 docx 时,它会显示如下(我想要的):
我很确定问题出在 Google Drive UI 尝试以不同的方式打开文件的事实,因为我通过我的应用程序上传了它,但我不希望这样 :)
(我对其他类型的文件也有同样的问题)
我尝试'convert' = true
在数组中设置参数,但在上传过程中出现此错误:
..convert=true&uploadType=multipart&key=AI39si49a86oqv9fhb9yzXp7FCWL-cSqwFiClHZqS3Y3r9Hw8ujtSNlZEWZyFKBp_id7LUyFaZTJ97pMeb0XqHznycK7JJ9o_Q: (500) 内部错误
文档:https ://developers.google.com/drive/v2/reference/files/insert
=> 但无论如何我不认为转换是正确的解决方案,我只想能够看到内容,就好像我通过 Google Drive UI 上传文件一样
如果我从我的 Google Drive Sync 文件夹中打开 docx 并编辑并保存它,我将能够通过 Google Drive UI 看到它(显示为 W 标志)