Ich habe einige Probleme beim Erstellen einer Benutzeroberfläche zum Hochladen von Drag & Drop-Dateien. Sie funktioniert perfekt für lokale Dateien. Wenn ich jedoch versuche, von OneDrive im Explorer in den Bereich "Ablegen" zu ziehen, meldet die Konsole a net:ERR_FAILED
.
Ist es in bestimmten Situationen nicht möglich, Drag & Drop aus nicht lokalen Dateien zum Laufen zu bringen? Wenn dies der Fall ist, welche Einschränkungen gelten? iCloud auf einem Mac scheint zum Beispiel gut zu funktionieren.
Der Uploader scheint zu glauben, dass es sich um eine gültige Datei handelt, aber es scheint, als könne er nicht darauf zugreifen oder so.
Für den Fall, dass es hilfreich ist, hier die relevanten Codebits:
function handleFileUpload(files,obj) {
for (var i = 0; i < files.length; i++) {
var fd = new FormData();
fd.append('file', files[i]);
status.setFileNameSize(files[i].name,files[i].size);
sendFileToServer(fd,status);
}
}
function sendFileToServer(formData,status){
num_uploaded_files++;
checkUploadLimit();
var uploadURL = "uploader.php?request=upload_file"; //Upload URL
var jqXHR=$.ajax({
xhr: function() {
var xhrobj = $.ajaxSettings.xhr();
return xhrobj;
},
url: uploadURL,
type: "POST",
contentType:false,
processData: false,
cache: false,
data: formData,
success: function(data, textStatus, jqXHR){
status.setProcessing();
response = $.parseJSON(data);
if(response.success == 1) {
status.setType(response.file_type);
status.uploadComplete(response.id,response.file_type,response.new_filename);
type = response.file_type;
} else {
status.setFailure(response.failure_reason);
}
},
error: function(jqXHR, textStatus, errorThrown) {
status.setFailure(errorThrown);
}
});
status.setAbort(jqXHR);
}
$( document ).ajaxError(function( event, jqxhr, settings, thrownError ) {
console.log('AJAX error');
});
Vielen Dank im Voraus für jede Hilfe oder Beratung!
Es sieht so aus, als wäre es tatsächlich ein Problem mit OneDrive, Dateien nicht lokal zu speichern. Hier ist ein Beispiel:
Im obigen Beispiel wurde die oberste Datei (offline verfügbar) problemlos hochgeladen und die folgende nicht.
Soweit ich das beurteilen konnte, gibt es keine Möglichkeit, eine reine Online-Datei per Drag & Drop hochzuladen (oder zumindest nicht mit Code, der der oben beschriebenen Methode ähnelt). Stattdessen benötigen Sie eine, input type="file"
um dies zu tun (und Windows lädt die Datei dann automatisch lokal herunter, um den Upload vorzubereiten).
Benutzer können mit der rechten Maustaste auf Dateien klicken und "Offline verfügbar machen" auswählen, wodurch das Problem für diese Dateien behoben wird.
Ich habe dieselben Dateien auf Google Drive getestet und dasselbe Problem tritt auf. Wenn Google dies nicht kann, ist es unwahrscheinlich, dass ich dazu in der Lage bin. Wenn jedoch jemand anderes eine Lösung findet, posten Sie bitte Ihre Antwort unten und ich werde das sehr gerne akzeptieren.
Dieser Artikel stammt aus dem Internet. Bitte geben Sie beim Nachdruck die Quelle an.
Bei Verstößen wenden Sie sich bitte [email protected] Löschen.
Lass mich ein paar Worte sagen