From f343b1ca7854f2f39398745ed904a5659cf227df Mon Sep 17 00:00:00 2001 From: benweet Date: Sun, 24 Mar 2013 19:42:15 +0000 Subject: [PATCH] Google Drive support --- index.html | 44 +++++++++++++++++++++++++++++++------------- 1 file changed, 31 insertions(+), 13 deletions(-) diff --git a/index.html b/index.html index a90c805c..e6f3c9ab 100644 --- a/index.html +++ b/index.html @@ -70,20 +70,38 @@ * @param {File} fileData File object to read data from. * @param {Function} callback Function to call when the request is complete. */ - function insertFile(fileData, callback) { + function insertFile(title, content, callback) { if(driveUpload) { - var request = gapi.client.request({ - 'path' : '/upload/drive/v2/files', - 'method' : 'POST', - 'params' : { 'uploadType' : 'media' }, - 'headers' : { 'Content-Type' : 'text/plain' }, - 'body' : fileData }); - if (!callback) { - callback = function(file) { - console.log(file) - }; - } - request.execute(callback); + const + boundary = '-------314159265358979323846'; + const + delimiter = "\r\n--" + boundary + "\r\n"; + const + close_delim = "\r\n--" + boundary + "--"; + + var contentType = 'text/x-markdown'; + var metadata = { 'title' : title, 'mimeType' : contentType }; + + var base64Data = btoa(content); + var multipartRequestBody = delimiter + + 'Content-Type: application/json\r\n\r\n' + + JSON.stringify(metadata) + delimiter + 'Content-Type: ' + + contentType + '\r\n' + + 'Content-Transfer-Encoding: base64\r\n' + '\r\n' + base64Data + + close_delim; + + var request = gapi.client.request({ + 'path' : '/upload/drive/v2/files', + 'method' : 'POST', + 'params' : { 'uploadType' : 'multipart' }, + 'headers' : { 'Content-Type' : 'multipart/mixed; boundary="' + + boundary + '"' }, 'body' : multipartRequestBody }); + if (!callback) { + callback = function(file) { + console.log(file) + }; + } + request.execute(callback); } }