我正在尝试为我使用Javascript上传到云端硬盘的文件添加缩略图。我正在尝试按照https://developers.google.com/drive/v3/web/file#uploading_thumbnails
的说明进行操作为了创建我的web-safe base64图像,我使用在线转换器将一个简单的红色方形图像转换为base64,生成
data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAADUlEQVR42mP4z8DwHwAFAAH/VscvDQAAAABJRU5ErkJggg==
然后我将data:image/png;
后的所有内容全部取消,并将/
替换为_
并删除了=
:
iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAADUlEQVR42mP4z8DwHwAFAAH_VscvDQAAAABJRU5ErkJggg
然后我在我的请求中将以下内容添加到原始标题中:
contentHints: {
thumbnail: {
image: "iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAADUlEQVR42mP4z8DwHwAFAAH_VscvDQAAAABJRU5ErkJggg",
mimeType: "image/png"
}
}
但是,我无法在Google云端硬盘的列表或网格视图中看到我的文件的缩略图。
有关正在发生的事情的任何想法?
这是我的整个文件保存代码:
function saveFile(content) {
var boundary = '-------314159265358979323846';
var header = JSON.stringify({
title: "My file",
mimeType: "application/myFile",
parents: ['root'],
contentHints: {
thumbnail: {
image: "iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAADUlEQVR42mP4z8DwHwAFAAH_VscvDQAAAABJRU5ErkJggg",
mimeType: "image/png"
}
}
});
var method = 'POST';
var path = "/upload/drive/v2/files";
var body = [
"\r\n--" + boundary + "\r\nContent-Type: application/json\r\n\r\n" + header,
"\r\n--" + boundary + "\r\nContent-Type: " + this.mimeType + "\r\n\r\n" + (content.getContentAsJSON()),
"\r\n--" + boundary + "--"].join('');
var request = gapi.client.request({
path: path,
method: method,
params: {
uploadType: 'multipart'
},
headers: {
'Content-Type': 'multipart/related; boundary="' + boundary + '"'
},
body: body
});
request.execute(file);
};
答案 0 :(得分:1)
在使用v3时,终点URL路径应为
var path = "/upload/drive/v3/files";
对于v2,引用位于https://developers.google.com/drive/v2/web/file#uploading_thumbnails它具有不同的结构/语法
顺便提一下,请注意“如果云端硬盘可以从文件生成缩略图,那么它将使用生成的缩略图并忽略您上传的任何内容。”
我还发现您的缩略图不符合此要求:“缩略图的最小宽度为220px。”
您可以尝试使用以下内容,即220x20像素
"iVBORw0KGgoAAAANSUhEUgAAANwAAAAUCAYAAADm4VNYAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsQAAA7EAZUrDhsAAABaSURBVHhe7dMxAcAgEMDALzo61r-zaoAFDZnulijI87_fHiCxboGA4SBkOAgZDkKGg5DhIGQ4CBkOQoaDkOEgZDgIGQ5ChoOQ4SBkOAgZDkKGg5DhIGQ4yMwcJVwCVCif97cAAAAASUVORK5CYII"