Skip to content

Instantly share code, notes, and snippets.

@Noitidart
Created June 2, 2020 18:37
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save Noitidart/34ae0f379256d4569f2b2ba8f1760f90 to your computer and use it in GitHub Desktop.
Save Noitidart/34ae0f379256d4569f2b2ba8f1760f90 to your computer and use it in GitHub Desktop.
/////////
var chunk_cnt = 0;
var upload = function() {
// /{user-id}/feed?message={message}&access_token={access-token}
aReportProgress({
body_prefix: 'Chunk ' + (++chunk_cnt) + ' - ',
reason: formatStringFromName('uploading_init', 'app')
});
console.error('prparing chunk', chunk_cnt, 'for upload, offsets:', {start_offset, end_offset});
var multipart_data = new FormData();
var blob = new Blob([rec.arrbuf.slice(start_offset, end_offset)], {type:rec.mimetype});
var file = new File([blob], 'chunk' + chunk_cnt + '.' + rec.mimetype.substr(rec.mimetype.indexOf('/')+1));
multipart_data.append('video_file_chunk', file);
multipart_data.append('access_token', sess.access_token);
multipart_data.append('start_offset', start_offset);
multipart_data.append('end_offset', end_offset);
multipart_data.append('upload_session_id', upload_session_id);
multipart_data.append('upload_phase', 'transfer');
xhrAsync(
'https://graph.facebook.com/v2.6/me/videos',
{
method: 'POST',
responseType: 'json',
data: multipart_data,
onuploadprogress: genericOnUploadProgress.bind(null, rec, aReportProgress)
},
verifyOauthXhrBind(rec.serviceid, checkUpload, aActionFinalizer, aReportProgress)
);
};
//////////
// build data
var metadata = {
name: autogenScreenshotFileName(shot.sessionid) + '.png',
mimeType: 'image/png'
// parents: ['0B5IwavgVGMN9ekR2dEhuaUxkZTA'] // set this to the id of a the folder you want to upload it into
};
var boundary = '-------' + Date.now();
var delimiter = '\r\n--' + boundary + '\r\n';
var close_delim = '\r\n--' + boundary + '--';
var data = '';
data += delimiter + 'Content-Type: application/json\r\n\r\n';
data += JSON.stringify(metadata);
data += delimiter + 'Content-Type: image/png\r\n';
data += 'Content-Transfer-Encoding: base64\r\n\r\n';
data += base64ArrayBuffer(shot.arrbuf); // Transfer images as base64 string.
data += close_delim;
xhrAsync(
'https://www.googleapis.com/upload/drive/v3/files?uploadType=multipart',
{
method: 'POST',
data,
headers: {
Authorization: 'Bearer ' + cConfgure.session_details.access_token,
'Content-Type': 'multipart/form-data; boundary="' + boundary + '"'
},
responseType: 'json'
},
verifyOauthXhrBind(shot, checkUpload, aActionFinalizer, aReportProgress)
);
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment