Я использую Autocrat для создания отчетов PDF из Google Sheet. У некоторых учеников есть фотографии, связанные с их собственным URL-адресом (на основе идентификаторов учеников, например, 1143.jpg), но у некоторых еще не было фотографий. Мне нужно проверить URL-адрес, чтобы увидеть, есть ли за URL-адрес изображение позади него, и не по умолчанию ли это другое изображение, скажем, школа. TIA Я попробовал следующий код ниже
Это возвращает код 301 для всех изображений, независимо от того, есть ли они там. Я предполагаю, потому что они приходят с FTP-сервера cPanel (или, возможно, это webdav, поскольку адрес начинается с http://).
function getStatusCode(url){
var options = {
'muteHttpExceptions': true,
'followRedirects': false
};
// var url_trimmed = url.trim();
var response = UrlFetchApp.fetch(url, options);
return response.getResponseCode();
}
. Это просто проверяет, содержит ли URL правильное расширение файла. Мне нужно знать, действительно ли изображениефайл существует в сети
function checkURL(url) {
return(url.match(/\.(jpeg|jpg|gif|png)$/) != null);
}
Код ниже - это Javascript (я немного Noob для Google Script и Javascript, но я понимаю, что они очень похожи). К сожалению, Google Script, кажется, не вмещаетКласс переменных IMAGE, поэтому я не уверен, как заставить работать приведенный ниже код.
function imageExists(url, callback) {
var img = UrlFetchApp.fetch(url);
img.onload = function() { callback(true); };
img.onerror = function() { callback(false); };
img.src = url;
}
В идеале я хочу создать функцию, которую затем можно будет вызывать из ячейки Google Sheet. Что-то вроде = CheckImageExists(ImageURL, DefaultImageOfSchool.jpg)