앞으로 도움이되기를 바랍니다. 당신은 당신이 코드는 시도했다가 있습니까 그 다음이
var canvas = document.getElementById("paint");
function uploadFile() {
var ACCESS_TOKEN = "xxx";
var dbx = new Dropbox({
accessToken: ACCESS_TOKEN
});
var fileInput = document.getElementById('file-upload');
var file = fileInput.files[0];
//Get data from canvas
var imageSringData = canvas.toDataURL('image/png');
//Convert it to an arraybuffer
var imageData = _base64ToArrayBuffer(imageSringData);
dbx.filesUpload({
path: '/' + "test.png",
contents: imageData
})
.then(function(response) {
var results = document.getElementById('results');
results.appendChild(document.createTextNode('File uploaded!'));
console.log(response);
})
.catch(function(error) {
console.error(error);
});
return false;
}
function _base64ToArrayBuffer(base64) {
base64 = base64.split('data:image/png;base64,').join('');
var binary_string = window.atob(base64),
len = binary_string.length,
bytes = new Uint8Array(len),
i;
for (i = 0; i < len; i++) {
bytes[i] = binary_string.charCodeAt(i);
}
return bytes.buffer;
}
뭔가를해야합니다
? 그리고 정말로 base64로 인코딩 된 문자열로 인코딩해야합니까? 정기적 인 BLOB 파일로 업로드 할 수 있어야합니다. –
아니요, 저는 base64 문자열로 인코딩 할 필요가 없습니다. 네, 일부 코드도 제공 할 수 있습니다. 단, 아직 POC 단계에 있으며 다른 접근 방식을 모색 중입니다. – SunnyHoHoHo
[공식 Dropbox API v2 JavaScript SDK] (https://github.com/dropbox/dropbox-sdk-js) 및 [이 예] (https://github.com/dropbox/dropbox-sdk-js/blob) /master/examples/upload/index.html#L49)를 시작하는 것이 좋습니다. – Greg