Java, MultiPart : 判断上传的multipart是否为图片类型
Java, MultiPart : Determine if multipart uploaded is a type of image
我正在开发一个 Spring-MVC 应用程序,其中我有文件上传功能。为此,我想确定用户上传的文件是否是一种图像。
我想创建该图像的缩略图预览,因此我需要确定它是否是图像。我有缩略图创建代码,只是不知道它是不是图像。
请求代码:
@RequestMapping(value = "/notes/addattachment/{noteid}/{groupaccountid}/{api}", method = RequestMethod.POST)
public @ResponseBody void addAttachments(@PathVariable("noteid") int noteid, @PathVariable("groupaccountid") Long groupAccountId,
@PathVariable("api") String api, @RequestParam("attachments") MultipartFile attachment) {
if (!(attachment.isEmpty())) {
switch (api){
case "somecase":
try {
String fileName = attachment.getOriginalFilename();
long fileSize = attachment.getSize();
byte[] bytes = attachment.getBytes();
this.groupAttachmentsService.addAttachment(bytes, fileName, fileSize, noteid, true,attachment.getContentType());
} catch (Exception ignored) {}
break;
case "google":
this.driveQuickstart.insertFile(attachment,noteid, groupAccountId,"123");
break;
case "dropbox":
String path = api.replace(":","/");
this.dropboxTask.insertFile(attachment,"path",noteid, groupAccountId);
break;
}
}
}
任何帮助都会很好。谢谢你。
如果您正在使用 java 7 ImageIO
是 class 您可以用来检查文件是否为图像。 ImageIO read()
如果找不到图像,此方法 returns null。
我正在开发一个 Spring-MVC 应用程序,其中我有文件上传功能。为此,我想确定用户上传的文件是否是一种图像。
我想创建该图像的缩略图预览,因此我需要确定它是否是图像。我有缩略图创建代码,只是不知道它是不是图像。
请求代码:
@RequestMapping(value = "/notes/addattachment/{noteid}/{groupaccountid}/{api}", method = RequestMethod.POST)
public @ResponseBody void addAttachments(@PathVariable("noteid") int noteid, @PathVariable("groupaccountid") Long groupAccountId,
@PathVariable("api") String api, @RequestParam("attachments") MultipartFile attachment) {
if (!(attachment.isEmpty())) {
switch (api){
case "somecase":
try {
String fileName = attachment.getOriginalFilename();
long fileSize = attachment.getSize();
byte[] bytes = attachment.getBytes();
this.groupAttachmentsService.addAttachment(bytes, fileName, fileSize, noteid, true,attachment.getContentType());
} catch (Exception ignored) {}
break;
case "google":
this.driveQuickstart.insertFile(attachment,noteid, groupAccountId,"123");
break;
case "dropbox":
String path = api.replace(":","/");
this.dropboxTask.insertFile(attachment,"path",noteid, groupAccountId);
break;
}
}
}
任何帮助都会很好。谢谢你。
如果您正在使用 java 7 ImageIO
是 class 您可以用来检查文件是否为图像。 ImageIO read()
如果找不到图像,此方法 returns null。