Overwrite an Image File with Google Apps Script

后端 未结 2 821
孤独总比滥情好
孤独总比滥情好 2020-12-10 18:14

Can I overwrite an image file with Google Apps Script? I\'ve tried:

file.setContent(newBlobImage);
file.replace(newBlobImage);

Neither of

2条回答
  •  猫巷女王i
    2020-12-10 18:40

    Thank you for this track !

    This allowed me to find a solution to my problem : move a bound form after copying and moved his spreadsheet.

    The Drive app advanced service must be activated in the "Resource Script Editor" to run this script.

    function spreadsheetCopy() {
      // Below is the file to be copied with a bound form.
      var fileToCopy = DriveApp.getFileById("file_key"); // key is fileId
      var saveFolder = DriveApp.getFolderById("folder_key"); // key is folderId
      var currentFolder = "";
      ( fileToCopy.getParents().next() ) ? currentFolder = fileToCopy.getParents().next() : currentFolder = DriveApp.getRootFolder();  
      Logger.log(currentFolder)
      var copyFile = fileToCopy.makeCopy(saveFolder),
          copyName = copyFile.getName(); 
      Utilities.sleep(30000);
     moveFormCopy(currentFolder, saveFolder, copyName);
    }
    
    function moveFormCopy(currentFolder, saveFolder, copyName) {  
      var formsInFolder = currentFolder.getFilesByType(MimeType.GOOGLE_FORMS);
      var form, copyForm, copyFormMimeType, copyFormName, copyFormId;
      while ( formsInFolder.hasNext() ) {
        form = formsInFolder.next();
        if ( copyName === form.getName() ) {
          copyForm = form;
          copyFormMimeType = copyForm.getMimeType();
          copyFormName = copyForm.getName();
          copyFormId = copyForm.getId();
          break;
        }
      };  
      var resource = {title: copyName, mimeType: copyFormMimeType};
      Drive.Files.patch(resource, copyFormId, {addParents: saveFolder.getId(), removeParents: currentFolder.getId()})
    }
    

提交回复
热议问题