2015-02-20 2 views
1

Я пытаюсь настроить форму, которая будет загружать файлы в конкретный каталог моего диска Google, а не в домашний каталог.Загрузить файлы в каталог на Google Диске

Я нашел скрипт, который работает для загрузки файлов, и он работает, хотя я бы предпочел, чтобы он попал в другую папку.

В настоящее время файлы будут занесены в "/" Как я могу сделать файлы перейдите в "/ new/property/uploads /"?

Google Script:

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

function uploadFiles(form) { 

    try { 

    var dropbox = "Uploads"; 
    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> 

Спасибо за любую помощь.

ответ

1

Получите папку cort driveApp и сохраните ее там, очень просто.

  1. Создать папку вручную, если вам нужно динамически Есть несколько шагов
  2. Получить ID -> навигации в браузере и откройте папку, последние цифры после последнего «/» являются подпапка ID
  3. Используйте функцию driveApp getFolderById(String), чтобы выбрать вашу папку Eg. folder = DriveApp.getFolderById(ID)

В этом случае проверка папки является бессмысленной.

0

В случае, если требуемая папка не существует, и вы хотите создать новое дерево подпапок, вам необходимо создать новую папку в папке. Класс папки имеет метод createFolder(). Класс DriveApp также имеет метод createFolder(), но он помещает новую папку в основной корень Диска. Таким образом, как DriveApp, так и Folder имеют метод createFolder(). Ключ должен сначала получить ссылку на папку, которую вы хотите использовать createFolder(), чтобы создать новую папку в качестве подпапки.

function uploadFiles(form) { 

    try { 

    var dropbox = "Uploads"; 
    var folder, folders = DriveApp.getFoldersByName(dropbox); 

    if (folders.hasNext()) { 
     folder = folders.next(); 
    } else { 
     var firstLevelFolder = DriveApp.createFolder("new"); 
     var secondLevelFolder = firstLevelFolder.createFolder("property"); 
     var folder = secondLevelFolder.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) { 
    Logger.log('err: ' + error.toString()); 
    return error.toString(); 
    } 

} 
Смежные вопросы