Невозможно загрузить большой файл через форму HTML в веб-приложении appscript - PullRequest
2 голосов
/ 04 марта 2020

Я не могу загрузить файл, размер которого составляет 177 МБ, на диск Google через форму HTML с помощью appscript. Он не показывает никаких ошибок. Но статус загрузки браузера составляет 0%.

Я использую следующий код для загрузки в файл приложения.

Ниже приведен мой код Appscript

function uploadFile(e) {
      var link=[],file_extension=[];
      var ss=SpreadsheetApp.getActiveSpreadsheet().getSheetByName("Drawing Register");

      for(var j in e){
        if((j=="urlLink") && (e["urlLink"]!=="")){
         var fileId=getIdFromUrl(e["urlLink"]);
         var type=DriveApp.getFileById(fileId).getMimeType();//to find whether if its a google document/spreadsheet
         var gtype=type.substring(type.lastIndexOf(".")+1);
         file_extension.push(gtype);
         link.push(e["urlLink"]);
         continue;
        }

       for(var s=0;s<e[j].length;s++){
         var fileImage =e[j][s];

         var folder = DriveApp.getFolderById(Document_Folder);

         var image=folder.createFile(fileImage);

         var fileName =image.getName();
         if(fileName=="Untitled"){
          DriveApp.getFileById(image.getId()).setTrashed(true);
         }
         else{
           var ext=fileName.substring(fileName.lastIndexOf(".")+1); // finding extension of file uploaded
           link.push(image.getUrl());
           file_extension.push(ext);
         }
        }
      }

      var response = {
      'link':link,
      'extension':file_extension,
    }
   return response;

Ниже приведен мой javascript код

function addDrawing(val){
        t=1;
         changedFieldValues=[];
         var html="";
         if(val!=undefined){
           revisedDrawing=true;//true if selected row needs to be uploaded with revised drawings
           revisedDrawingRow=val;//row no
         }

         html+='<h3 class="modal-head-color text-center">Add Drawings Or Documents</h3><form onsubmit="loadingModal();google.script.run.withSuccessHandler(onSuccessUploadDrawing).uploadFile(this);return false">';
//-------------------------drawing--------------------           

         for(var k=1;k<5;k++){

          html+='<div class="form-group">';
          if(k==1){
           html+='<label><strong>Upload pdf version of file</strong></label>';
           html+='<input type="file" class="form-control" accept="application/pdf"  name="myImage" required />';
           html+='</div>';
           continue;
          }
          if(k==2){
           html+='<label><strong>If it is a google document,paste the link below</strong></label>';
           html+='<input type="url" class="form-control" name="urlLink"/>';
           html+='</div>';
           continue;
          }


          html+='<label>Upload Original File '+t+'(if applicable)</label>';
          html+='<input type="file" class="form-control" id="file'+t+'" name="myImage" />';
          html+='</div>';
          t++;
         }

          html+='<div id="uploadFile">';//for adding upload file boxes dynamically

          html+='</div>';

          html+='<button type="button" class="btn-sm btn-info" onclick="appendUploadBox();">+</button>';
          html+='<br><input type="submit" class="btn btn-purple btn-block"/>';


        html+='</form>'; 
        modalTxt.innerHTML=html;
        modal.style.display = "block";
       }

Если у кого-то есть идеи, пожалуйста, поделитесь.

...