首页 > 解决方案 > 无法通过 appscript webapp 中的 HTML 表单上传大文件

问题描述

我无法使用 appscript 通过 HTML 表单将大小为 177 MB 的文件上传到谷歌驱动器。它没有显示任何错误。但浏览器上传状态为 0%。

我正在使用以下代码在我的 appscript 文件中上传。

以下是我的 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";
       }

如果有人有任何想法,请分享。

标签: javascriptgoogle-apps-scriptweb-applications

解决方案


推荐阅读