我尝试使用 google appscript 下载图像,但 response.getAs() 或任何其他函数总是 returns 4 字节作为 Blob。为什么?
i have tried downloading an image using google appscript but the response.getAs() or any other functions always returns 4 bytes as Blob. why?
我尝试使用 google appscript 下载图像,但 response.getAs() 或任何其他函数总是 returns 4 字节作为 Blob。
在 google 表单中,我尝试使用 appscript 从互联网添加图像项并下载它以避免进一步的 URLFetch 调用。
从磁盘显示时(对于从 Google 驱动器加载的离线文件),它工作得非常好。但是,当第一次从互联网上加载时,它失败了。
异常:无法添加图片,请稍后重试。
文件 blob 始终只有 4 个字节
有人可以帮忙吗。
文件夹 - google 驱动器中用于保存文件的目标文件夹
fileName - 下载图像的文件名
fileURL - 图片的 public url
function downloadImage(folder, fileName, fileURL) {
var response = UrlFetchApp.fetch(fileURL);
if(response.getResponseCode() == 200){
var fileBlob = response.getAs("image/jpeg");
var file = folder.createFile(fileName+".jpeg",fileBlob,MimeType.JPEG);
return file;
debugger; // Stop to observe if in debugger
}else{
Logger.log("Whats this now???");
}
}
该文件的大小为 400 KB,但它不适用于我尝试下载的任何图像。
您正在使用方法 createFile(name, content, mimeType) 并将 Blob 作为内容传递,因此大小为 4 字节。此方法的内容应为字符串类型。
您想使用 createFile(blob) method, and to the returned file, assign a name。
示例:
function downloadImage(folder, fileName, fileURL) {
var response = UrlFetchApp.fetch(fileURL);
if(response.getResponseCode() == 200){
var fileBlob = response.getAs("image/jpeg");
var file = folder.createFile(fileBlob);
file.setName(fileName);
return file;
}else{
console.log(response.getAllHeaders())
}
}
我尝试使用 google appscript 下载图像,但 response.getAs() 或任何其他函数总是 returns 4 字节作为 Blob。
在 google 表单中,我尝试使用 appscript 从互联网添加图像项并下载它以避免进一步的 URLFetch 调用。
从磁盘显示时(对于从 Google 驱动器加载的离线文件),它工作得非常好。但是,当第一次从互联网上加载时,它失败了。
异常:无法添加图片,请稍后重试。
文件 blob 始终只有 4 个字节
有人可以帮忙吗。
文件夹 - google 驱动器中用于保存文件的目标文件夹 fileName - 下载图像的文件名 fileURL - 图片的 public url
function downloadImage(folder, fileName, fileURL) {
var response = UrlFetchApp.fetch(fileURL);
if(response.getResponseCode() == 200){
var fileBlob = response.getAs("image/jpeg");
var file = folder.createFile(fileName+".jpeg",fileBlob,MimeType.JPEG);
return file;
debugger; // Stop to observe if in debugger
}else{
Logger.log("Whats this now???");
}
}
该文件的大小为 400 KB,但它不适用于我尝试下载的任何图像。
您正在使用方法 createFile(name, content, mimeType) 并将 Blob 作为内容传递,因此大小为 4 字节。此方法的内容应为字符串类型。
您想使用 createFile(blob) method, and to the returned file, assign a name。
示例:
function downloadImage(folder, fileName, fileURL) {
var response = UrlFetchApp.fetch(fileURL);
if(response.getResponseCode() == 200){
var fileBlob = response.getAs("image/jpeg");
var file = folder.createFile(fileBlob);
file.setName(fileName);
return file;
}else{
console.log(response.getAllHeaders())
}
}