Java Spring引导多部分文件不可修改吗?
我有一个问题,我想更改一个请求的多部分文件,因为我必须先对上传的文件进行解密,然后我的服务才能将其用作普通excel文件或其他格式。为此,我编写了一个Java Spring引导多部分文件不可修改吗?,java,spring,request,Java,Spring,Request,我有一个问题,我想更改一个请求的多部分文件,因为我必须先对上传的文件进行解密,然后我的服务才能将其用作普通excel文件或其他格式。为此,我编写了一个CustomerMultipartFile类实现MultipartFile,并将解密字节放入新类中,并将其用作MultipartFile实例。但我发现,当我使用修改后的请求文件的字节时,字节数组与我在其中设置的完全不同。代码如下: registry.addInterceptor(new HandlerInterceptorAdapt
CustomerMultipartFile
类实现MultipartFile
,并将解密字节放入新类中,并将其用作MultipartFile
实例。但我发现,当我使用修改后的请求文件的字节时,字节数组与我在其中设置的完全不同。代码如下:
registry.addInterceptor(new HandlerInterceptorAdapter() {
@Override
public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler)
throws Exception {
boolean isMultipart = multipartResolver.isMultipart(request);
if(isMultipart && encrypt.isEncrypt()){
Map<String, MultipartFile> map = multipartResolver.resolveMultipart(request).getFileMap();
Set<String> keys = map.keySet();
for(String key : keys){
MultipartFile file = map.get(key);
byte[] content = FileUtils.decrypt(file.getBytes());
CustomerMultipartFile cf = new CustomerMultipartFile();
cf.setContentType(file.getContentType());
cf.setName(file.getName());
cf.setOriginalFilename(file.getOriginalFilename());
cf.setBytes(content);
cf.setSize(content.length);
map.put(key, cf);
}
}
return true;
}
});
registry.addInterceptor(新的HandlerInterceptorAdapter(){
@凌驾
公共布尔预处理(HttpServletRequest请求、HttpServletResponse响应、对象处理程序)
抛出异常{
布尔isMultipart=multipartResolver.isMultipart(请求);
if(isMultipart&&encrypt.isEncrypt()){
Map Map=multipartResolver.resolveMultipart(请求).getFileMap();
Set keys=map.keySet();
用于(字符串键:键){
MultipartFile file=map.get(key);
byte[]content=FileUtils.decrypt(file.getBytes());
CustomerMultipartFile cf=新CustomerMultipartFile();
cf.setContentType(file.getContentType());
cf.setName(file.getName());
cf.setOriginalFilename(file.getOriginalFilename());
cf.setBytes(内容);
cf.setSize(内容、长度);
地图放置(键,cf);
}
}
返回true;
}
});
感谢您的任何尝试