我得到以下错误:
PHP致命错误:在vendor/Google/apiclient/src/Google/Http/REST.PHP:118中出现未捕获的异常“Google\u Service\u exception”,消息为“未能解析内容范围头”
堆栈跟踪:
0供应商/google/apiclient/src/Google/Http/REST. php(94):Google_Http_REST::decodeHttp响应(对象(GuzzleHttp\Psr7\响应),对象(GuzzleHttp\Psr7\请求), NULL)
1【内部函数】:Google_Http_REST::doExecute(Object(GuzzleHttp\Client),Object(GuzzleHttp\Psr7\Request),NULL)
2 vendor/google/apiclient/src/google/Task/Runner.php(176):调用用户函数数组(数组,数组)
3 vendor/google/apiclient/src/google/Http/REST.php(58):google_Task_Runner-run()
4供应商/谷歌/apiclient/src/谷歌/Client.php(788):Google_Http_R /var/www/html/website-redesign/application/libraries/hla_app_log/vendor/google/apiclient/src/Google/Http/REST.php在线118
上传代码:
function uploadInBatch($client,$service, $parentId,$backup_file) {
$file = new Google_Service_Drive_DriveFile();
$file->title = 'backup.sql';
$file->setParents(array($parentId));
$filesize = filesize($backup_file);
$chunkSizeBytes = $filesize/20;
// Call the API with the media upload, defer so it doesn't immediately return.
$client->setDefer(true);
$request = $service->files->create($file);
// Create a media file upload to represent our upload process.
$media = new Google_Http_MediaFileUpload(
$client,
$request,
'application/sql',
null,
true,
$chunkSizeBytes
);
$media->setFileSize($filesize);
$status = false;
$handle = fopen($backup_file, "rb");
$chunk = fread($handle, $chunkSizeBytes);
$status = $media->nextChunk($chunk);
$resumeUri = $media->getResumeUri();
$offset = ftell($handle);
while (!$status) {
if($resumeUri){
$result = $media->resume($resumeUri);
}
fseek($handle, $offset);
$chunk = fread($handle, $chunkSizeBytes);
$status = $media->nextChunk($chunk);
if(!$status){ //nextChunk() returns 'false' whenever the upload is still in progress
echo 'sucessfully uploaded ' . ($media->getProgress()/$filesize)*100 . ' %';
}
}
fclose($handle);
// Reset to the client to execute requests immediately in the future.
$client->setDefer(false);
}
以上功能用于上传2GB左右的文件
我以前见过这个问题,它好像API不允许你上传非常大的文件。
您可以考虑遵循这里找到的示例它看起来与您的代码有点不同。
// Create a MediaFileUpload object for resumable uploads.
$media = new Google_Http_MediaFileUpload(
$client,
$insertRequest,
'video/*',
null,
true,
$chunkSizeBytes
);
$media->setFileSize(filesize($videoPath));
// Read the media file and upload it chunk by chunk.
$status = false;
$handle = fopen($videoPath, "rb");
while (!$status && !feof($handle)) {
$chunk = fread($handle, $chunkSizeBytes);
$status = $media->nextChunk($chunk);
}
我对由Swagger codegen生成的源代码有问题。我想上传一个带有react的文件。为此,我创建了一个Dropzone并获得了该文件的路径。如果我按照文档中的方式使用生成的客户端,它将无法工作。不幸的是,文件没有被发送。只有文件名。调试控制台也不显示已发送二进制数据。 请求未正确执行。该文件将不会上载。参数“file”只是文件名,而不是二进制数据。 大摇大摆的代码版本 openapi-gen
我正在使用泽西客户端进行基于超文本传输协议的请求。如果文件很小,它会很好地工作,但当我发布大小为700M的文件时会出错: 这是我的代码:
文件上载返回“状态代码8-无效参数”响应。想知道是什么导致了这种情况。 我使用Chilkat sFTP在多个合作伙伴之间传输和接收文件,没有问题,但是对于一个新的合作伙伴,我看到以下错误。合作伙伴的技术团队正在询问是否正在调用被动连接,但我在Chilkat中看不到任何可以让我改变这一点的属性。 日志消息:
我使用的是Jersey 2.28,想要编写一个客户端来上传1Gb的文件,而客户端JVM堆不能超过256Mb。 我在这里有什么选择? 我试着用下面的代码片段,但结果是OOM,因为Jersey似乎一直在尽可能多地从InputStream中读取数据。为了处理大量输入,可以指示球衣进行冲洗吗?
我正在开发一个必须接收excel文件的POST方法,但我有一些问题。这是我的密码 当我调用API时,在服务器端出现以下错误: 在我的web.xml中,我添加了以下代码: 我在Tomcat v7.0上运行,并添加了jersey-multipart-1.18和mimepul-1.9.3来管理Multipart数据。 我的客户端响应获得415个不受支持的媒体类型,但在我用于发送请求I的代码中,请求“Co
我正在尝试通过Intellij IDEA REST客户端上传文件。我选择“文件上传(多部分/表单-数据)”并选择文件发送。这个文件的参数名是什么?在我的Sprint控制器中,我使用以下代码 我也尝试了不同的名称,比如@RequestParam的“file”、“fileTosend”、“file to send”,但是Spring总是找不到MultipartFile参数。