我想知道是否可以在公共网站上访问/显示存储在谷歌驱动器中的图像等文件。
当前回答
功能名称:goobox
标签:图像托管,regex, URL,谷歌驱动器,dropbox,高级
return: string, Returns a string URL that can be used directly as the source of an image. when you host an image on google drive or dropbox you can't use the direct URL of your file to be an image source. you need to make changes to this URL to use it directly as an image source. goobox() will take the URL of your image file, and change it to be used directly as an image source. Important: you need to check your files' permissions first, and whether it's public. live example: https://ybmex.csb.app/
cconst goobox = (url)=>{
let dropbox_regex = /(http(s)*:\/\/)*(www\.)*(dropbox.com)/;
let drive_regex =/(http(s)*:\/\/)*(www\.)*(drive.google.com\/file\/d\/)/;
if(url.match(dropbox_regex)){
return url.replace(/(http(s)*:\/\/)*(www\.)*/, "https://dl.");
}
if(url.match(drive_regex)){
return `https://drive.google.com/uc?id=${url.replace(drive_regex, "").match(/[\w]*\//)[0].replace(/\//,"")}`;
}
return console.error('Wrong URL, not a vlid drobox or google drive url');
}
let url = 'https://drive.google.com/file/d/1PiCWHIwyQWrn4YxatPZDkB8EfegRIkIV/view'
goobox(URL); // https://drive.google.com/uc?id=1PiCWHIwyQWrn4YxatPZDkB8EfegRIkIV
其他回答
您可以按照以下步骤将您想要的文件嵌入到您的网站。
在谷歌驱动器中找到PDF文件 在谷歌驱动器中预览PDF文件 弹出谷歌驱动器预览 使用“更多操作”菜单并选择“嵌入项” 提供副本代码 编辑谷歌网站页面,你想嵌入 打开HTML编辑器 粘贴谷歌驱动器预览提供的HTML嵌入代码 使用更新按钮并保存页面
引用:https://www.steegle.com/websites/google-sites-howtos/embed-drive-pdf
Vetea,如果你从图片URL中获取链接,它不工作,但如果你从“直接链接”字段中获取它,它应该工作。我在多个场合使用并测试过它。
牛科技提供的解决方案对我很有效。
http://googledrive.com/host/<folderID>/<filename>
但有两个突出的问题
您不能在驱动器中的同一文件夹中有两个具有相同名称的文件,否则此链接将不起作用。 目前还不清楚,但谷歌似乎计划通过驱动器弃用图像托管。请看下面的链接。 https://support.google.com/richmedia/answer/6098968?hl=en
我认为这是可能的,但只是在短时间内
你要做的就是将文件的访问控制列表设置为公共只读(或公共读/写)。您可以通过编程方式使用谷歌文档列表API,或手动通过驱动器图像查看器上的“共享”按钮来实现这一点。
然后,您可以通过使用谷歌文档列表API或使用谷歌驱动器API(即Java中的file.getDownloadUrl())以编程方式获取图像的URL。您还可以通过在谷歌驱动器默认图像查看器中右键单击图像,轻松地手动获取到图像的链接。
问题是,这个链接存在的时间是有限的,所以它会工作一段时间,然后就停止工作了。
基本上,存储在驱动器中的图像文件的URL应该是可以访问的,而不需要任何身份验证,一旦它被设置为公开共享,但URL将在某个时候改变。我们可能会在未来找到一个解决方案,比如提供一个永久的URL,将重定向到这些不断变化的URL,但没有承诺…
在谷歌驱动器API中有一个文件类型选项。你可以检查它是否被解析成一个有效的图像。我会看一个选项,如果文件类型给我一个无效的图像,然后为文件获取一个新的直接URL。我还没有弄清楚如何做到这一点,但也许这是一个尝试的途径。