Realmente estoy fastidiado. He consultado demasiada documentacion del SDK de Google Drive pero aun sigo atascado. He hablado con dos desarrolladores de la API de Drive para Javascript y tampoco tienen ninguna solucion.
Quiero hacer una barra de progreso para la subida de archivos a Google Drive. Igual os sorprende saber que su API no ofrece los datos necesarios para hacerlo.
Actualmente para subir un archivo uso esto:
Código Javascript:
Ver original
function dI(fileData, ob) { var boundary = '-------314159265358979323846'; var delimiter = "\r\n--" + boundary + "\r\n"; var close_delim = "\r\n--" + boundary + "--"; var reader = new FileReader(); reader.readAsBinaryString(fileData); reader.onload = function(e) { C('es:'+fileData.size); var contentType = fileData.type || 'application/octet-stream'; var metadata = { 'title': fileData.name, 'mimeType': contentType }; var base64Data = btoa(reader.result); 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}); var callback = function (response) { alert('archivo subido'); }; request.execute(callback); } }
Viendo este codigo... se os ocurre alguna solucion?