Javascript 根据文件名从Google Drive获取到Google工作表的图像URL
你好 我正在尝试访问谷歌硬盘,并从网络应用程序获取基于个人资料编号的特定图像文件。例如,如果我在web应用程序上输入一个配置文件编号和详细信息,提交后,它会将详细信息附加到google工作表上,我尝试在google Drive中搜索图像,并将其URL放在最后一列 以下是我的html代码:Javascript 根据文件名从Google Drive获取到Google工作表的图像URL,javascript,image,google-apps-script,google-sheets,google-drive-api,Javascript,Image,Google Apps Script,Google Sheets,Google Drive Api,你好 我正在尝试访问谷歌硬盘,并从网络应用程序获取基于个人资料编号的特定图像文件。例如,如果我在web应用程序上输入一个配置文件编号和详细信息,提交后,它会将详细信息附加到google工作表上,我尝试在google Drive中搜索图像,并将其URL放在最后一列 以下是我的html代码: <body> <!-- CONTAINER --> <div class="container-md"> <!-- H
<body>
<!-- CONTAINER -->
<div class="container-md">
<!-- HEADING -->
<h3 style="color:green;">User Data</h3>
<!-- CONTENT -->
<div class="form-row">
<div class="form-group col-md-2">
<input id="rnum" class="form-control" type="text" placeholder="Profile Number" pattern="^\d{5}$" required>
</div>
</div>
<!-- FULL NAME -->
<div class="form-row">
<div class="form-group col-md-3">
<input id="fname" class="form-control" type="text" placeholder="First Name" required>
</div>
<div class="form-group col-md-3">
<input id="mname" class="form-control" type="text" placeholder="Middle Name" required>
</div>
<div class="form-group col-md-3">
<input id="lname" class="form-control" type="text" placeholder="Last Name" required>
</div>
</div> <!-- CLOSE ROW: FULL NAME-->
<div class="form-row">
<button id = "btn" type="submit" class="btn btn-primary">Submit</button>
</div>
</div> <!-- CLOSE CONTAINER -->
</body>
</html>
到目前为止,我只能得到谷歌硬盘文件夹中所有图像的文件名。我仍然在寻找如何根据个人资料号码获取图像URL的方法。非常感谢您的帮助和输入。如果
配置文件编号
是DriveApp.getFoldersByName(“用户图像”)文件夹中图像的文件名。下一步()
并且每个文件名都是唯一的文件名,那么下面的修改如何
发件人:
致:
- 在此修改中,将创建一个用于搜索URL的对象,并使用该对象放置URL
- 在这种情况下,我的理解如下。
是图像的文件名配置文件编号
- 每个文件名都是唯一的文件名
如果以上我的理解不正确,你能提供你的情况的详细信息吗?在此,我想修改脚本。谢谢。是的,每个文件名都是唯一的。成功了。非常感谢您的回复。@Glenn Perey谢谢您的回复。我很高兴你的问题解决了。
<script>
document.getElementById("btn").addEventListener("click",submitBtn);
function submitBtn(){
var myInfo={};
myInfo.profile = document.getElementById("rnum").value;
myInfo.firstName = document.getElementById("fname").value;
myInfo.midName = document.getElementById("mname").value;
myInfo.lastName = document.getElementById("lname").value;
google.script.run.addInfo(myInfo);
document.getElementById("rnum").value = "";
document.getElementById("fname").value = "";
document.getElementById("mname").value = "";
document.getElementById("lname").value = "";
}
</script>
function addInfo(myInfo){
const ss = SpreadsheetApp.openByUrl(url);
const ws = ss.getSheetByName("User_Info");
const imgFolder = DriveApp.getFoldersByName("User Image").next();
const imgIterator = imgFolder.getFiles();
var imgArr = [];
while(imgIterator.hasNext()){
var imgFile = imgIterator.next();
var imgUrl = imgFile.getName();
imgArr.push(imgUrl);
}
ws.appendRow([
myInfo.profile,
myInfo.firstName,
myInfo.midName,
myInfo.lastName
//Image URL
]);
}
var imgArr = [];
while(imgIterator.hasNext()){
var imgFile = imgIterator.next();
var imgUrl = imgFile.getName();
imgArr.push(imgUrl);
}
ws.appendRow([
myInfo.profile,
myInfo.firstName,
myInfo.midName,
myInfo.lastName
//Image URL
]);
var imgObj = {};
while(imgIterator.hasNext()){
var imgFile = imgIterator.next();
imgObj[imgFile.getName()] = imgFile.getUrl();
}
ws.appendRow([
myInfo.profile,
myInfo.firstName,
myInfo.midName,
myInfo.lastName,
imgObj[myInfo.profile]
]);