上传大块谷歌云端硬盘文件错误



我试图将大文件上传到谷歌云端硬盘。为了节省内存,我正在使用Google的媒体文件上传来分块添加文件。

文件上传正常,但是我收到来自PHP的警告( Warning: rawurldecode() expects parameter 1 to be string, object given )

我已经在下面发布了我的代码,以防我有任何错误:

$file3 = new Google_Service_Drive_DriveFile();
$file3->setName($zipName3 . '.zip');
$file3->setDescription('Testing document ZIP backups');
$file3->setMimeType('application/zip');
$chunkSizeBytes = 1 * 1024 * 1024;
$client->setDefer(true);
$request = $service->files->create($file3);
$media = new Google_Http_MediaFileUpload($client, $request, 'application/zip', null,true,$chunkSizeBytes);
$media->setFileSize(filesize($zipPath3));
$result = $service->files->create($file3, array('mediaUpload' => $media));
$status = false;
$handle = fopen($zipPath3, "rb");
while (!$status && !feof($handle)) {
$chunk = fread($handle, $chunkSizeBytes);
$status = $media->nextChunk($chunk);
}
$result = false;
if($status != false) {
$result = $status;
}
fclose($handle);
print_r($result);

似乎已经解决了这个问题:

$file3 = new Google_Service_Drive_DriveFile();
$file3->setName($zipName3 . '.zip');
$file3->setDescription('Testing document ZIP backups');
$file3->setMimeType('application/zip');
$chunkSizeBytes = 1 * 1024 * 1024;
$client->setDefer(true);
$request = $service->files->create($file3);
$media = new Google_Http_MediaFileUpload($client, $request, 'application/zip', null,true,$chunkSizeBytes);
$media->setFileSize(filesize($zipPath3));
**$result = $service->files->create($file3, array('mediaUpload' => $media));**
$status = false;
$handle = fopen($zipPath3, "rb");
while (!$status && !feof($handle)) {
$chunk = fread($handle, $chunkSizeBytes);
$status = $media->nextChunk($chunk);
}
$result = false;
if($status != false) {
$result = $status;
}
fclose($handle);
print_r($result);

罪魁祸首:

$result = $service->files->create($file3, array('mediaUpload' => $media));

不知道为什么我在创建文件时传递$media对象,但删除它解决了问题:

$result = $service->files->create($file3);

相关内容

最新更新