我有以下控制器类
package com.java.rest.controllers;
@Controller
@RequestMapping("/api")
public class TestController {
@Autowired
private VoucherService voucherService;
@RequestMapping(value = "/redeemedVoucher", method = { RequestMethod.GET })
@ResponseBody
public ResponseEntity redeemedVoucher(@RequestParam("voucherCode") String voucherCode) throws Exception {
if(voucherCode.equals( "" )){
throw new MethodArgumentNotValidException(null, null);
}
Voucher voucher=voucherService.findVoucherByVoucherCode( voucherCode );
if(voucher!= null){
HttpHeaders headers = new HttpHeaders();
headers.add("Content-Type", "application/json; charset=utf-8");
voucher.setStatus( "redeemed" );
voucher.setAmount(new BigDecimal(0));
voucherService.redeemedVoucher(voucher);
return new ResponseEntity(voucher, headers, HttpStatus.OK);
}
else{
throw new ClassNotFoundException();
}
};
Run Code Online (Sandbox Code Playgroud)
}
对于异常处理,我使用的是Spring3.2建议处理程序,如下所示
package com.java.rest.controllers;
@ControllerAdvice
public class VMSCenteralExceptionHandler extends ResponseEntityExceptionHandler{ …Run Code Online (Sandbox Code Playgroud) 我写了一个执行imagemagic转换命令的类.
public class ImageMagicDemo {
public static void main(String[] argp){
ProcessBuilder pb2 = new ProcessBuilder("G:\\project\\installation\\imagemagic\\convert","G:\\demo\\image\\frame.jpg", "-resize", "20x20",
"G:\\demo\\image\\resizeImage\\frame1.jpg");
pb2.redirectErrorStream(true);
Process p2;
try {
p2 = pb2.start();
BufferedReader br = new BufferedReader(new InputStreamReader(p2.getInputStream()));
String line = null;
while((line=br.readLine())!=null){
System.out.println(line);
}
System.out.println("2"+p2.waitFor());
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
Run Code Online (Sandbox Code Playgroud)
但我得到以下回应
convert.exe: unable to open image `G:\demo\image\frame.jpg': No such file or directory @ error/blob.c/OpenBlob/2692.
convert.exe: unable to load module `G:\project\installation\imagemagic\modules\coders\IM_MOD_RL_JPEG_.dll': The specified module could not be …Run Code Online (Sandbox Code Playgroud) 我有一些PDF /Type文件目录中没有任何价值.他们有一个文件目录
<<
/Pages 3 0 R
/Metadata 4 0 R
>>
Run Code Online (Sandbox Code Playgroud)
但https://www.safaribooksonline.com/library/view/pdf-explained/9781449321581/ch04.html表示该文档目录(打开链接并搜索关键字'文档目录')
/Type*(Required) Must be /Catalog.
Run Code Online (Sandbox Code Playgroud)
但即使如上所述缺少这一点,PDF也会被Acrobat Reader打开.那么为什么即使/Type文档目录中缺少这种类型的PDF也没有被标记为已损坏?或者它是可选的?
我的问题是我必须过滤掉损坏的PDF文件.我正在使用jPod库,并且该库将PDF标记为已损坏,如果/Type不相等/Catalog或缺少.我们可以删除这张支票吗?