Javascript 使用ajax和Google应用程序脚本将文件上载到Google drive会创建空文件

Javascript 使用ajax和Google应用程序脚本将文件上载到Google drive会创建空文件,javascript,jquery,ajax,file-upload,google-apps-script,Javascript,Jquery,Ajax,File Upload,Google Apps Script,我有一个HTML表单,试图上传一个文件并将其保存在Google Drive中。文件的实际数据在某个地方丢失了,我不知道在哪里。我相信是关于文件的编码。文件名和文件类型移动得很好 当前的最终结果是一个文件以正确的名称和文件类型保存在Google Drive中,大小为8字节 HTML 谷歌应用程序脚本 function doPost(e) { try { var dropbox = "File Folder"; var folder, folders = DriveApp.getF

我有一个HTML表单,试图上传一个文件并将其保存在Google Drive中。文件的实际数据在某个地方丢失了,我不知道在哪里。我相信是关于文件的编码。文件名和文件类型移动得很好

当前的最终结果是一个文件以正确的名称和文件类型保存在Google Drive中,大小为8字节

HTML

谷歌应用程序脚本

function doPost(e) {

try {
    var dropbox = "File Folder";
    var folder, folders = DriveApp.getFoldersByName(dropbox);

    var fileToProcess = e.parameters.file;
    var fileToProcessName = e.parameters.name;
    var fileToProcessType = e.parameters.type;

    if (folders.hasNext()) {
      folder = folders.next();
    } else {
      folder = DriveApp.createFolder(dropbox);
    }

    var blob = Utilities.newBlob(fileToProcess,fileToProcessType,fileToProcessName);

    var newFile = folder.createFile(blob);

  } catch (f) {
    return ContentService    // return json success results
          .createTextOutput(
            JSON.stringify({"result":"file upload failed",
                            "data": JSON.stringify(f) }))
          .setMimeType(ContentService.MimeType.JSON);
  }
}
创建文件后,请尝试.Add newFile.saveAndClose()代码。
function UploadFile() {     

var formData = new FormData();
var fileInput = document.getElementById('file');
var file = fileInput.files[0];

formData.append('file', file);
formData.append('type', file.type);
formData.append('name', file.name);

$.ajax({
    url: 'GAS SCRIPT URL',
    type: 'POST',
    data: formData,
    processData: false, // tell jQuery not to process the data
    contentType: false, // tell jQuery not to set contentType
    success: function(results) {
        console.log(JSON.stringify(results));
    },
    error: function(results) {
        console.log(JSON.stringify(results));
    }
});

}
function doPost(e) {

try {
    var dropbox = "File Folder";
    var folder, folders = DriveApp.getFoldersByName(dropbox);

    var fileToProcess = e.parameters.file;
    var fileToProcessName = e.parameters.name;
    var fileToProcessType = e.parameters.type;

    if (folders.hasNext()) {
      folder = folders.next();
    } else {
      folder = DriveApp.createFolder(dropbox);
    }

    var blob = Utilities.newBlob(fileToProcess,fileToProcessType,fileToProcessName);

    var newFile = folder.createFile(blob);

  } catch (f) {
    return ContentService    // return json success results
          .createTextOutput(
            JSON.stringify({"result":"file upload failed",
                            "data": JSON.stringify(f) }))
          .setMimeType(ContentService.MimeType.JSON);
  }
}