如何修复上传至Google Drive的JPEG无法在浏览器查看的脚本
解决Google Drive上传JPEG无法在浏览器预览的问题
我最近碰到好几个开发者反馈类似的情况——Google Drive在二月前后调整了文件链接的权限和预览机制,导致之前的链接处理逻辑失效了。你可以试试把code.gs的代码改成下面这样:
function upload(e) { // Folder ID of destination folder var destination_id = '1qghuk1-kShwsdfsdf8Ndfsdfsddffs'; var imageFile = e.imageFile; var destination = DriveApp.getFolderById(destination_id); // 上传文件并设置权限为"知道链接的人可查看" var file = destination.createFile(imageFile); file.setSharing(DriveApp.Access.ANYONE_WITH_LINK, DriveApp.Permission.VIEW); // 构造正确的预览链接 var imageUrl = "https://drive.google.com/file/d/" + file.getId() + "/preview"; return imageUrl; }
关键修改说明
- 权限补全:现在Drive新上传的文件默认权限更严格,必须显式设置为
ANYONE_WITH_LINK可查看,否则即使链接正确,浏览器也会因为权限不足无法加载预览。之前的代码缺少这一步,是核心问题之一。 - 链接格式升级:原来通过
webContentLink替换参数的方式已经不适用了,直接使用Google官方推荐的预览链接格式https://drive.google.com/file/d/[文件ID]/preview,稳定性和兼容性更强。
你的HTML代码不需要做任何调整,保持原样即可。替换code.gs之后,上传的JPEG应该就能正常在浏览器中查看了。
内容的提问来源于stack exchange,提问作者user2916405
相关产品推荐
相关产品推荐

