我正在使用google drive sdk上传文件,而且我想我可以在其上创建pdf文件 - 所以我调整了代码。所以在我的代码中,我生成HTML文本格式,用作在google驱动器中创建的PDF的内容。
这是我的代码的剪辑。
$subcontent = "<h1>Hello World</h1><p>some text here</p>";
$file = new Google_DriveFile();
....
$mkFile = $this->_service->files->insert($file, array('data' => $subcontent));
$createdFile = $fileupload->nextChunk($mkFile, $subcontent); // I got error on this line
$this->_service->files->trash( $createdFile['id'] );
...
当我运行代码时,我根据上面代码中的注释得到了错误:
Catchable fatal error: Argument 1 passed to Google_MediaFileUpload::nextChunk() must be an instance of Google_HttpRequest, array given, called in /home/site/public_html/mywp/wp-content/plugins/mycustomplugin/functions.php on line 689 and defined in /home/site/public_html/mywp/wp-content/plugins/mycustomplugin/gdwpm-api/service/Google_MediaFileUpload.php on line 212
我不知道nextChunk
中第二个参数的值应该是什么,在原始代码中它是这样的:
.....
$handle = fopen($path, "rb");
while (!$status && !feof($handle)) {
$max = false;
for ($i=1; $i<=$max_retries; $i++) {
$chunked = fread($handle, $chunkSize);
if ($chunked) {
$createdFile = $fileupload->nextChunk($mkFile, $chunked);
break;
}elseif($i == $max_retries){
$max = true;
}
}
.....
我的问题是,我该如何处理这个错误?如何通过调整此代码在谷歌驱动器中成功创建PDF文件?因为我需要在我的帖子中链接文件的创建文件ID。
提前致谢...
答案 0 :(得分:0)
你不应该将$ mkFile传递给nextChunk。请阅读resumable uploads section in the documentation。
你有比这更基本的问题。例如,您执行的插入调用已经设置了该文件的数据。除非您正在进行可恢复上传,否则无需对nextChunk执行任何操作。按照&#34;多部分文件上传&#34;上述doc的一部分用于修复insert语句,只删除nextChunk行。