J'essaie d'utiliser ng-file-upload pour télécharger plusieurs fichiers en même temps à mon action de contrôleur de gravier. Cependant, je n'arrive pas à comprendre comment mettre en attente les fichiers téléchargés dans l'action.comment utiliser ng-file-upload avec grails 2.5.3
Voici mon code JS:
app.controller('MyCtrl', ['$scope', 'Upload', '$timeout', function ($scope, Upload, $timeout) {
$scope.uploadFiles = function (files) {
$scope.files = files;
if (files && files.length) {
Upload.upload({
url: 'http://localhost:8080/classifydemo/request/create',
data: {
files: files
}
}).then(function (response) {
$timeout(function() {
$scope.result = response.data;
});
}, function (response) {
if (response.status > 0) {
$scope.errorMsg = response.status + ': ' + response.data;
}
}, function (evt) {
$scope.progress =
Math.min(100, parseInt(100.0 * evt.loaded/evt.total));
});
}
};
}]);
Et mon action Grails est ci-dessous:
class RequestController {
def create() {
request.headerNames.each{
println it
}
println params
println request.getFile("file")
render "test"
}
}
Le code ci-dessus échoue sur request.getFile
.
Question
Comment puis-je obtenir une prise des fichiers qui sont téléchargés au contrôleur afin que je puisse les traiter dans une boucle.
Je viens essayé et il semble que le code ne pénètre même pas que la fermeture. En outre, le type de contenu de la demande est juste nul. – Anthony