-1

I want to upload img from local to drive and save url in sheet i use this code to upload img to drive but now i want get url and save in sparedsheet


this gs code for app script can any one help to get url and stop app script complete page this i will run it from local html please help me

    function doGet(e) {
  return message("Error: no parameters");
}

function doPost(e) {
   var template = HtmlService
                 .createTemplateFromFile('ModalForm');

  var htmlOutput = template.evaluate()
                   .setSandboxMode(HtmlService.SandboxMode.NATIVE)
                   .setTitle('done ');
  if (!e.parameters.filename || !e.parameters.file || !e.parameters.imageformat) {
    return message("Error: Bad parameters");
    
  } else {
    var imgf = e.parameters.imageformat[0].toUpperCase();
    var mime =
        (imgf == 'BMP')  ? MimeType.BMP
      : (imgf == 'GIF')  ? MimeType.GIF
     : (imgf == 'JPEG') ? MimeType.JPEG
     : (imgf == 'PNG')  ? MimeType.PNG
      : (imgf == 'SVG')  ? MimeType.SVG
      : false;
    if (mime) {
      var data = Utilities.base64Decode(e.parameters.file, Utilities.Charset.UTF_8);
      var blob = Utilities.newBlob(data, mime, e.parameters.filename);
    var as=  DriveApp.getFolderById('1myWqX4qCtsFYOPvTl9vT7Xa1inzAG6Rc').createFile(blob);
Logger.log(as.getUrl());
    }
    else {
      return message("Error: Bad image format");
    }
  }
}
...
Marios
  • 26,333
  • 8
  • 32
  • 52
pop
  • 1
  • 3

1 Answers1

0

Solution

You can refer to this answer to build a working solution that uploads a 'PNG'. Change the mimetype as needed.

Suggested modification

// Code.gs
function doGet(e) {
  return message("Error: no parameters");
}

function doPost(e) {
  if (!e.parameters.filename || !e.parameters.file) {
    return message("Error: Bad parameters");
  } else {
    var data = Utilities.base64Decode(e.parameters.file, Utilities.Charset.UTF_8);
    var blob = Utilities.newBlob(data, MimeType.PNG, e.parameters.filename);
    var file = DriveApp.getFolderById('1myWqX4qCtsFYOPvTl9vT7Xa1inzAG6Rc').createFile(blob);
    var url = file.getUrl();
    var sheet = SpreadsheetApp.openById("your-spreadsheet-id").getSheetByName("sheet-name");
    sheet.appendRow([url]);
    return message("completed");
  }
}

function message(msg) {
  return ContentService.createTextOutput(JSON.stringify({result: msg})).setMimeType(ContentService.MimeType.JSON);
}

References

MIME Types

SpreadsheetApp

Alessandro
  • 2,848
  • 1
  • 8
  • 16