Spring Restful Mutipart

时间:2017-07-06 03:52:33

标签: spring rest spring-mvc

我想询问有关Multipart / Form-data的信息,如果它们与RequestMethod.GET兼容?

在我的情况下,我必须在一个响应中返回一个文件+ JSON。 (注意:文件不应该在JSON中)。样品回复:

FILE 

{

    "id":"1234",
    "name":"question Man"

}

1 个答案:

答案 0 :(得分:0)

我认为这可能会有所帮助,请根据您的需要进行修改。

@RequestMapping(value = URIConstansts.GET_FILE, produces = { "application/json" }, method = RequestMethod.GET)
public @ResponseBody ResponseEntity getFile(@RequestParam(value="fileName", required=false) String fileName,HttpServletRequest request) throws IOException{

    ResponseEntity respEntity = null;

    byte[] reportBytes = null;
    File result=new File("/filepath/"+fileName);

    if(result.exists()){
        InputStream inputStream = new FileInputStream("/filepath/"+fileName);
        String type=result.toURL().openConnection().guessContentTypeFromName(fileName);

        byte[]out=org.apache.commons.io.IOUtils.toByteArray(inputStream);

        HttpHeaders responseHeaders = new HttpHeaders();
        responseHeaders.add("content-disposition", "attachment; filename=" + fileName);
        responseHeaders.add("Content-Type",type);

        respEntity = new ResponseEntity(out, responseHeaders,HttpStatus.OK);
    }else{
        respEntity = new ResponseEntity ("File Not Found", HttpStatus.OK);
    }
    return respEntity;
}