文件拖放谷歌应用程序脚本中的上传

时间:2016-03-20 17:57:54

标签: file-upload google-apps-script drag-and-drop

我几天来试图找到如何在下面的代码中(在谷歌应用程序脚本中)切换文件上传方法来拖放。有没有办法做到这一点?有人甚至可以给我一个粘贴的代码,以便它可以工作吗?

非常感谢!

这是GAS代码和HTML代码:



function doGet(e) {
  
  return HtmlService.createHtmlOutputFromFile('form.html');
}

function uploadFiles(form) {
  
  try {
    
    var dropbox = "Student Files";
    var folder, folders = DriveApp.getFoldersByName(dropbox);
    
    if (folders.hasNext()) {
      folder = folders.next();
    } else {
      folder = DriveApp.createFolder(dropbox);
    }
    
    var blob = form.myFile;    
    var file = folder.createFile(blob);    
    file.setDescription("Uploaded by " + form.myName);
        
    return "File uploaded successfully " + file.getUrl();
    
  } catch (error) {
    
    return error.toString();
  }
  
}

<form id="myForm">
    <input type="text" name="myName" placeholder="Your name..">
    <input type="file" name="myFile">
    <input type="submit" value="Upload File" 
           onclick="this.value='Uploading..';
                    google.script.run.withSuccessHandler(fileUploaded)
                    .uploadFiles(this.parentNode);
                    return false;">
</form>

<div id="output"></div>

<script>
    function fileUploaded(status) {
        document.getElementById('myForm').style.display = 'none';
        document.getElementById('output').innerHTML = status;
    }
</script>

<style>
 input { display:block; margin: 20px; }
</style>
&#13;
&#13;
&#13;

1 个答案:

答案 0 :(得分:0)

有一个Google Picker。 Google Picker API允许您通过指定适当的视图googlepicker.DocsUploadView或google.picker.DocsView,直观地从桌面或Google云端硬盘中选择文件和文件夹。您可以使用Google Developer页面上的示例开始。

您还需要在Google Developers Console中创建或选择项目,并启用Google Picker API。

之后,您可以在 form.html 文件中通过HtmlService使用Google Picker API。

UPD:以下是Google Apps脚本code的示例。