我正在尝试在Drive start 01中创建并保存文件,但如果我重命名该文件,则会更改文件类型。这是我正在使用的代码
function saveInDriveFolder( url , foldername, j){
var curfol = DriveApp.getFoldersByName(foldername).next()
var file = UrlFetchApp.fetch(url , { muteHttpExceptions: true })
if( file.getResponseCode() == 200 ) {
curfol.createFile(file);
}
}
我试过了
curfol.createFile(j,file);
但这会丢失文件类型,然后我将其更改为
curfol.createFile(j + ".jpg", file);
这不起作用。
我正在尝试从01.jpg
开始保存图像答案 0 :(得分:0)
UrlFetchApp.fetch()
返回响应对象,而不是原始jpeg,因此您可以使用getResponseCode()
检查是否收到了HTTP 200响应。
您需要使用getAs(MimeType.JPEG)
或getBlob()
来获取文件的内容
因此,创建文件的代码应如下所示:
curFol.createFile('01.jpg', file.getAs(MimeType.JPEG));
请参阅:
https://developers.google.com/apps-script/reference/url-fetch/http-response
https://developers.google.com/apps-script/reference/drive/folder#createfilename-content-mimetype
答案 1 :(得分:0)
我解决了这个问题,代码更改如下:
function saveInDriveFolder( url , foldername, j){
var curfol = DriveApp.getFoldersByName(foldername).next()
var file = UrlFetchApp.fetch(url , { muteHttpExceptions: true })
if( file.getResponseCode() == 200 ) {
k = j > 9 ? "" + j: "0" + j
var blob = file.getBlob().setName( k + '.jpg');
curfol.createFile(blob);
}
}