2017-10-17 3 views
0

hochladen Aufgabe ist es, eine Datei im Browser zu erstellen und dann auf den Server hochladen. Ich habe Blob-Objekt erstellt und dann Dateiobjekt im Browser erstellt und dann auf dem Server hochgeladen.Dateiobjekt kann nicht auf Server in Safari

var file = [new File([data],'-Invoice.pdf', {type: 'application/pdf;charset=utf-8;'})]; 

Datei erfolgreich in Safari erstellt, aber wenn ich für den Upload rufen, Server antwortet mir mit 404 i-e-Datei nicht gefunden Fehler. Funktioniert perfekt in Chrom/Firefox. Verwendet npm Modul express-Dateiupload auf Serverseite. Bitte helfen Sie mir

Antwort

0

Ein Unterschied im Browser sollte nicht das serverseitige Hochladen beeinflussen. Sie sollten überprüfen, ob Sie die Datei haben, wenn Sie den Server anrufen.

Ich gehe davon aus, dass Sie ihre Datei Upload-Schaltflächen nicht verwendet haben. Versuchen Sie, ihren HTML-Richtlinien für das Hochladen zu folgen, und es sollte funktionieren, obwohl ich nicht in Safari getestet habe.

$scope.upload = function (file) { 
console.log(file.length); // if less than 1 or undefined, then your problem is probably in the html. I 
    Upload.upload({ 
     url: 'upload/url', 
     data: {file: file, 'username': $scope.username} 
    }).then(function (resp) { 
     console.log('Success ' + resp.config.data.file.name + 'uploaded. Response: ' + resp.data); 
    }, function (resp) { 
     console.log('Error status: ' + resp.status); 
    }, function (evt) { 
     var progressPercentage = parseInt(100.0 * evt.loaded/evt.total); 
     console.log('progress: ' + progressPercentage + '% ' + evt.config.data.file.name); 
    }); 
}; 
+0

Ich habe es schon versucht, aber das Problem ist immer noch da. –