如何在 grails 2.5.3 中使用 ng-file-upload
how to use ng-file-upload with grails 2.5.3
我正在尝试使用 ng-file-upload 将多个文件同时上传到我的 grails 控制器操作。但是,我不知道如何获取正在上传到操作的文件。
这是我的 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));
});
}
};
}]);
我的 grails 操作如下:
class RequestController {
def create() {
request.headerNames.each{
println it
}
println params
println request.getFile("file")
render "test"
}
}
以上代码在 request.getFile
上失败。
问题
如何获取正在上传到控制器的文件,以便我可以循环处理它们。
由于您可能有多个文件,因此您应该使用:
request.fileNames.each {
MultipartFile file = request.getFile(it)
// do whatever you want with the file
}
我正在尝试使用 ng-file-upload 将多个文件同时上传到我的 grails 控制器操作。但是,我不知道如何获取正在上传到操作的文件。
这是我的 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));
});
}
};
}]);
我的 grails 操作如下:
class RequestController {
def create() {
request.headerNames.each{
println it
}
println params
println request.getFile("file")
render "test"
}
}
以上代码在 request.getFile
上失败。
问题
如何获取正在上传到控制器的文件,以便我可以循环处理它们。
由于您可能有多个文件,因此您应该使用:
request.fileNames.each {
MultipartFile file = request.getFile(it)
// do whatever you want with the file
}