php - 上传大块谷歌驱动器文件错误
问题描述
我试图将大文件上传到谷歌驱动器。为了节省内存,我使用 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);
推荐阅读
- javascript - panelChange在面板Angular 6上绑定一个值
- python - GraphFrames 连接组件 - 组件零
- python-2.7 - 如何获取所有与 xpath 匹配但不在视口中的项目?
- oracle - 表更改时不触发 Oracle 更改通知
- haskell - Haskell - 一种无需折叠即可生成新列表(如折叠)的更好方法
- java - 尝试将文本文件传递给 POST 并将内容转换为列表时出现 Java FileNotFoundException
- javascript - 正则表达式将 url 与一个或两个段路径匹配
- javascript - 使用 JS/jQuery 删除 WordPress 页面中 div 中的最后一个逗号
- batch-file - 检查多个服务器是否存在目录并复制它
- javascript - 转换成json对象标签值格式