感谢您阅读我的问题。
我在互联网上找到了一个Google Apps脚本,该脚本可以将图像上传到Google驱动器,并且对我有用。然后,我对其进行了一些修改-我使用appendRow()
方法添加了一些列。但是,如果没有上传图片,则此脚本不起作用。
我是新手,仍然在学习Google Apps脚本。请教我如何修改此脚本,这样,即使不上传图像,该脚本仍然可以插入数据。
这是我修改过的脚本:
function doGet(e) {return message("Error: no parameters in doGet")}
function doPost(e) {
if (!e.parameters.filename ||!e.parameters.file ||!e.parameters.imageformat) {return message("Error: Bad parameters in doPost");} else {
var imgf = e.parameters.imageformat[0].toUpperCase();
var mime =
(imgf == 'BMP') ? MimeType.BMP
: (imgf == 'GIF') ? MimeType.GIF
: (imgf == 'JPEG') ? MimeType.JPEG
: (imgf == 'JPG') ? MimeType.JPEG
: (imgf == 'PNG') ? MimeType.PNG
: (imgf == 'SVG') ? MimeType.SVG
: false;
if (mime) {
var data = Utilities.base64Decode(e.parameters.file, Utilities.Charset.UTF_8);
var blob = Utilities.newBlob(data, mime, e.parameters.filename);
//get the image file ID like this:
var content = DriveApp.getFolderById('folderID').createFile(blob);
var imageID = content.getId();
var imageName = content.getName();
var imageshowlink = "https://docs.google.com/uc?export=view&id=" + imageID;
var pertanyaan = e.parameter.pertanyaan1;
var jwbA = e.parameter.jawabA;
var jwbB = e.parameter.jawabB;
var jwbC = e.parameter.jawabC;
var jwbD = e.parameter.jawabD;
var kunci = e.parameter.kuncijwb;
//append the ID to your spreadsheet like this:
var ss = SpreadsheetApp.openById('SS ID');
var sh = ss.getSheets()[0];
sh.appendRow([imageID, imageName, imageshowlink, pertanyaan, jwbA, jwbB, jwbC, jwbD, kunci]);
return message("Success");
} else {return message("Error: Bad image format");}
}
}
function message(msg) {
return
ContentService.createTextOutput(JSON.stringify({Result: msg })).setMimeType(ContentService.MimeType.JSON);}