Dropbox direkte Upload-Dateien vom Browser
Ich versuche, Dateien direkt in Dropbox hochzuladen [von einem Browser / einer Webanwendung]. Die Funktion "uploadFile" in der Code-API erfordert, dass die hochzuladende Datei auf dem Server verfügbar ist. Dies bringt mich in Schwierigkeiten, weil ich nicht möchte Alle Dateien, die auf meinen Server und von dort zur Dropbox hochgeladen werden sollen.
$f = fopen("test.jpg", "rb"); // requires file on server
$result = $dbxClient->uploadFile("test.jpg", dbx\WriteMode::add(), $f);
fclose($f);
Dies ausprobierthttps: //github.com/dropbox/dropbox-j enttäuscht zu sagen, dass es keine eindeutige Dokumentation gibt, viele der Links im Dokumentationsteil sind defekt.
Ich muss die Dateien in mein Konto hochladen und die Clients müssen sich nicht bei Dropbox anmelden.
Alle Zeiger wären sehr dankbar. auf der Suche nach Ajax / JavaScript-Methoden.
Aktualisiere
Ich habe Folgendes versucht, aber keine Antwort von Dropbox
HTML
<input type="file" name="file" id="file" onchange="doUpload(event)">
JavaScript
var doUpload = function(event){
var input = event.target;
var reader = new FileReader();
reader.onload = function(){
var arrayBuffer = reader.result;
$.ajax({
url: "https://api-content.dropbox.com/1/files_put/auto/uploads/" + input.files[0].name,
headers: {
Authorization: 'Bearer ' + MyAccessToken,
contentLength: file.size
},
crossDomain: true,
crossOrigin: true,
type: 'PUT',
contentType: input.files[0].type,
data: arrayBuffer,
dataType: 'json',
processData: false,
success : function(result) {
$('#uploadResults').html(result);
}
});
}
reader.readAsArrayBuffer(input.files[0]);
}