Angularjs 使用angular file upload保存上载的文件
我已经创建了一个使用Angular File Upload component()的页面,但是,我找不到如何获取上传的文件信息以将其保存在磁盘上 我不知道密钥名是什么以及如何保存它。这是我的代码示例,如果你能帮助我的话Angularjs 使用angular file upload保存上载的文件,angularjs,servlets,servlet-3.0,Angularjs,Servlets,Servlet 3.0,我已经创建了一个使用Angular File Upload component()的页面,但是,我找不到如何获取上传的文件信息以将其保存在磁盘上 我不知道密钥名是什么以及如何保存它。这是我的代码示例,如果你能帮助我的话 app.controller('HomeController', ['$scope', 'FileUploader', function ($scope, FileUploader) { $scope.uploadMessage = 'Arraste aqui o arq
app.controller('HomeController', ['$scope', 'FileUploader', function ($scope, FileUploader) {
$scope.uploadMessage = 'Arraste aqui o arquivo';
var uploader = $scope.uploader = new FileUploader( { autoUpload: true, url: '/url'});
// FILTERS
uploader.filters.push({
name: 'customFilter',
fn: function(item /*{File|FileLikeObject}*/, options) {
return this.queue.length <= 1;
}
});
// Callbacks
uploader.onAfterAddingFile = function (item) {
$scope.uploadMessage = 'Enviando arquivo ' + item.file.name.toString();
};
uploader.onCompleteItem = function(item, response, status, headers) {
};
}]);
角度组件帮助说明有一个名为“alias”{String}的属性:包含文件的字段的名称,默认为file。如果我使用request.getParameter(“文件”),它是空的
更新
我在服务器中使用@MultipartConfig注释,但是request.getPart始终为空。需要更改url,它应该是唯一的。 试试这个
var uploader = $scope.uploader = new FileUploader({ autoUpload: true, url: '/upload' });
服务器端:
@RequestMapping(value = "/upload" , method = RequestMethod.POST)
public void upload(HttpServletRequest request)
{
//org.springframework.web.multipart.MultipartHttpServletRequest
MultipartHttpServletRequest mRequest;
mRequest = (MultipartHttpServletRequest) request;
Iterator<String> itr = mRequest.getFileNames();
while (itr.hasNext()) {
//org.springframework.web.multipart.MultipartFile
MultipartFile mFile = mRequest.getFile(itr.next());
String fileName = mFile.getOriginalFilename();
System.out.println("*****"+ fileName);
//To copy the file to a specific location in machine.
File file = new File('path/to/new/location');
FileCopyUtils.copy(mFile.getBytes(), file); //This will copy the file to the specific location.
}
}
@RequestMapping(value=“/upload”,method=RequestMethod.POST)
公共无效上载(HttpServletRequest请求)
{
//org.springframework.web.multipart.multipartttpServletRequest
MultipartTTPServletRequest mRequest;
mRequest=(multipartttpServletRequest)请求;
迭代器itr=mRequest.getFileName();
while(itr.hasNext()){
//org.springframework.web.multipart.MultipartFile
MultipartFile mFile=mRequest.getFile(itr.next());
字符串文件名=mFile.getOriginalFilename();
System.out.println(“*******”+文件名);
//将文件复制到计算机中的特定位置。
File File=新文件('path/to/new/location');
FileCopyUtils.copy(mFile.getBytes(),file);//这将把文件复制到特定位置。
}
}
需要更改您的url,它应该是唯一的。
试试这个
var uploader = $scope.uploader = new FileUploader({ autoUpload: true, url: '/upload' });
服务器端:
@RequestMapping(value = "/upload" , method = RequestMethod.POST)
public void upload(HttpServletRequest request)
{
//org.springframework.web.multipart.MultipartHttpServletRequest
MultipartHttpServletRequest mRequest;
mRequest = (MultipartHttpServletRequest) request;
Iterator<String> itr = mRequest.getFileNames();
while (itr.hasNext()) {
//org.springframework.web.multipart.MultipartFile
MultipartFile mFile = mRequest.getFile(itr.next());
String fileName = mFile.getOriginalFilename();
System.out.println("*****"+ fileName);
//To copy the file to a specific location in machine.
File file = new File('path/to/new/location');
FileCopyUtils.copy(mFile.getBytes(), file); //This will copy the file to the specific location.
}
}
@RequestMapping(value=“/upload”,method=RequestMethod.POST)
公共无效上载(HttpServletRequest请求)
{
//org.springframework.web.multipart.multipartttpServletRequest
MultipartTTPServletRequest mRequest;
mRequest=(multipartttpServletRequest)请求;
迭代器itr=mRequest.getFileName();
while(itr.hasNext()){
//org.springframework.web.multipart.MultipartFile
MultipartFile mFile=mRequest.getFile(itr.next());
字符串文件名=mFile.getOriginalFilename();
System.out.println(“*******”+文件名);
//将文件复制到计算机中的特定位置。
File File=新文件('path/to/new/location');
FileCopyUtils.copy(mFile.getBytes(),file);//这将把文件复制到特定位置。
}
}
与从angular调用任何其他api相同。参见示例,与从angular调用任何其他api相同。看到这个例子,我已经使用了一个唯一的url。我是否需要添加Spring依赖项才能实现这一点?我已经在使用一个唯一的url了。我是否需要添加Spring依赖项才能实现这一点?