2017-10-17 7 views
0

La tâche consiste à créer un fichier dans le navigateur, puis à le télécharger sur le serveur. J'ai créé un objet blob, puis créé un objet fichier dans un navigateur, puis je l'ai téléchargé sur le serveur.L'objet fichier ne peut pas être chargé sur le serveur dans le safari

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

fichier créé avec succès dans Safari, mais quand je l'appelle pour le téléchargement, le serveur me répond avec 404 fichier i-e pas trouvé d'erreur. Fonctionnement parfait en chrome/firefox. Utilisé module npm express-fileupload sur le côté serveur. S'il vous plaît aidez-moi

Répondre

0

Une différence dans le navigateur ne devrait pas affecter le téléchargement côté serveur. Vous devez vérifier que vous avez le fichier lorsque vous appelez votre serveur. Je suppose que vous n'avez pas utilisé leurs boutons de téléchargement de fichier. Essayez de suivre leurs directives html pour le téléchargement et cela devrait fonctionner, même si je n'ai pas testé dans Safari.

$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

Je l'ai déjà essayé mais le problème est toujours là. –