如何仅通过一个输入字段通过HTML表单对象上传多个文件

时间:2018-06-27 22:29:56

标签: javascript html dom google-apps-script

我创建了一个HTML表单,其中包含文件输入字段并激活了多个属性

<input type="file" name="documents" multiple size="11">

这是将表单对象提交给客户端功能的功能

<script>
    function handleFormSubmit(formObject) {
                var div = document.getElementById('output');
                var docs = document.getElementById('myFile');
                var firstName = document.getElementById('first').value;
                var lastName = document.getElementById('last').value;
                var hid = document.getElementById("hidden");

                for(i=0;i< docs.files.length ; i++){
                    div.innerHTML = hid+hid.file+"<h3>Please do not refresh or close the page. Your files are uploading...</h3>";
                    google.script.run.withSuccessHandler(update).uploadFile(formObject);
                    docs
                }
</script>

这是实现的客户端功能

function uploadFile(formObject) {
  Logger.log("called");
  var firstName=formObject.firstName;
  var lastName=formObject.lastName;
  var file = formObject.documents;
  Logger.log(file);
  var root = DriveApp.getRootFolder();
  var folder,url;
  if(root.getFoldersByName("Application Documents - Clients").hasNext()){
    folder = root.getFoldersByName("Application Documents - Clients").next();
  } else{
    folder = root.createFolder("Application Documents - Clients");
  }
  if(folder.getFoldersByName(firstName+" "+lastName).hasNext()){
    url = folder.getFoldersByName(firstName+" "+lastName).next().createFile(file).getUrl();
  } else {
    url = folder.createFolder(firstName+" "+lastName).createFile(file).getUrl();
  }
  return url;
}

输出是,如果上传的文件总数为3,则我仅将第一个文件上传三次。 意味着它只是上传表单提交时选择的第一个文件。

我想将所有选定的文件上传到同一文件夹中的驱动器中。

预先感谢

0 个答案:

没有答案