我在googledrive上有一个图片集,我有一个链接列表,指向每一个图片。它们可能是公共的,也可能不是公共的(任何有链接的人)。我想将它们保存在本地,并将它们单独嵌入到网页中,因为将它们直接嵌入到img标签中会导致图像加载的延迟。
这里有一个例子
[
{
"name": "A",
"photoUrl": "https://drive.google.com/uc?export=view&id=1km3V6PP70MTUsNWFEgdVea6jv-0BMnRT"
},
{
"name": "B",
"photoUrl": "https://drive.google.com/uc?export=view&id=1km3V6PP70MTUsNWFEgdVea6jv-0BMnRT"
},
]
我相信你的现状和你的目标如下。
>
所有文件中一个文件的最大文件大小为3 MB。
当文件公开共享时,您希望使用node.js将其作为二进制数据下载。
[
{
"name": "A",
"photoUrl": "https://drive.google.com/uc?export=view&id=1km3V6PP70MTUsNWFEgdVea6jv-0BMnRT"
},
{
"name": "B",
"photoUrl": "https://drive.google.com/uc?export=view&id=1km3V6PP70MTUsNWFEgdVea6jv-0BMnRT"
},
]
const fs = require("fs");
const request = require("request");
async function main() {
const download = ({ name, url }) =>
new Promise((resolve, reject) => {
request({ url: url, encoding: null }, (err, res, buf) => {
if (err) {
reject(err);
return;
}
if (res.headers["content-type"].includes("text/html")) {
console.log(`This file (${url}) is not publicly shared.`);
resolve(null);
return;
}
// When you use the following script, you can save the downloaded image data as the file.
fs.writeFile(
name,
buf,
{
flag: "a",
},
(err) => {
if (err) reject(err);
}
);
resolve(buf);
});
});
// This is a sample list from your question.
const list = [
{
name: "A",
photoUrl:
"https://drive.google.com/uc?export=view&id=1km3V6PP70MTUsNWFEgdVea6jv-0BMnRT",
},
{
name: "B",
photoUrl:
"https://drive.google.com/uc?export=view&id=1km3V6PP70MTUsNWFEgdVea6jv-0BMnRT",
},
];
// 1. Create filename and convert the URL for downloading.
const reqs = list.map(({ name, photoUrl }) => ({
name: `${name}.jpg`,
url: `https://drive.google.com/uc?export=download&id=${
photoUrl.split("=")[2]
}`,
}));
// 2. Download the files.
const buffers = await Promise.all(reqs.map((obj) => download(obj)));
console.log(buffers);
}
main();
WebContentLink
。这样,当文件大小小于3 MB时,可以使用WebContentLink
.null
。text/html
不包括时,可以认为该文件没有公开共享。> 假设我有一个导出链接,如下所示:
问题内容: 我正在尝试编写一个脚本来使用node.js下载图像。这是我到目前为止的内容: 但是,我想使它更强大: 有图书馆这样做并且做得更好吗? 响应头是否有可能说谎(关于长度,关于内容类型)? 我还应该关注其他状态代码吗?我应该麻烦重定向吗? 我想我读过某个地方会不赞成使用编码。那我该怎么办? 我怎样才能在Windows上使用它? 还有其他方法可以使此脚本更好吗? 原因:对于类似于imgur的功
问题内容: 我在Google云端硬盘上存储了一个zip文件(已公开共享)。我想知道如何在Golang中下载它。当前代码仅创建一个名为“ file.zip”的空白文件: 问题答案: 我找到了解决方案。使用:https://googledrive.com/host/ ID 而不是:https : //docs.google.com/uc?export=download& id = ID
我需要一个代码(更喜欢在pyhton3),知道如何认证和下载URL直接从谷歌文档。
我对谷歌驱动器有问题。 链接前: 工作很好,直到现在:-(但现在它不再工作了。结果没有找到错误404,但文件存在。我可以上传文件和轻松构建下载URL。 例如,公共文档。 我如何才能下载未经授权的文件,我需要直接链接。 谢谢!!!
代码: 我的文件已成功上载到我的firebase存储,但是: null