如何显示Google Drive文件夹中的图像?
我正在建设一个测试网站。在登录确认时,我必须向考生展示他们的图片,这些图片已经保存在Google Drive文件夹中。
$optParams = array(
'pageSize' => 1,
'fields' => 'nextPageToken, files(contentHints/thumbnail,fileExtension,id,name,size)',
'q' =>"mimeType contains 'image/' AND name contains '".$imageId."' AND '".$folderIdId."' in parents"
);
$results = $googleDriveService->files->listFiles($optParams);
if (count($results->getFiles()) == 0) {
print "No files found.
";
} else {
print "Files:
";
foreach ($results->getFiles() as $file) {
printf("%s (%s)
", $file->getName(), $file->getId());
}
}
这是我用于获取文件ID的方式。现在要将图像预览到页面,我是必须下载图像(稍后删除)才能显示它,还是有其他方法可以不下载即可完成此操作?
解决方案
答案:
虽然Drive不是设计为托管平台,但您可以使用预览链接作为解决办法。
详细信息:
我真的应该在这里重申:Drive并不是被设计成一个映像托管平台。它主要是一个文件共享和云存储解决方案,但也提供了通过预览、查看和嵌入链接查看图像的方法。
您可以使用以下链接,将[ID]
替换为您的图像ID以在页面中嵌入或预览图像:
https://drive.google.com/uc?export=view&id=[ID]
NB:虽然此方法有效,但由于映像托管不是驱动器的操作方式,因此映像加载速度会很慢。 还有一个以嵌入形式提供的IFRAME选项:
<iframe src="https://drive.google.com/file/d/[ID]/preview" width="640" height="480"></iframe>
此iFrame嵌入可从驱动器UI获取:
双击drive.google.com处的图像并跟随⋮ > Open in new window
菜单项,在新打开的选项卡中跟随⋮ > Embed item...
菜单选项,iFrame代码将以模式打开。
相关文章