文件下載及圖片預覽

2019-05-30 20:54 更新

目前SwaggerBootstrapUi支持的響應類型如下:

類型 說明
application/octet-stream 二進制流
image/png 圖片
image/jpg 圖片
image/jpeg 圖片
image/gif 圖片

特別需要注意的是:不管是文件下載或者是需要圖片預覽,都需要在接口中指定接口的produces,否則不能達到預期效果,接口的produces可參考上面表格中列出項.

關于文件下載的支持

SwaggerBootstrapUi1.8.9版本中添加了application/octet-stream下載類型的支持,并在1.9.0版本中完善,只需要配置相應接口的produces,即可在doc.html頁面中查看效果,如下圖:

點擊下載文件即可下載當前接口響應的二進制流.示例代碼可參考Api190Controller.java

特別說明,需要指定相應的produces

@ApiOperation(value = "下載測試-有參數(shù)+請求頭版",position = 3)
@GetMapping(value = "/downloadFileAndParam2",produces = "application/octet-stream")
public void postRequest3AndParam(@RequestHeader(value = "uud") String uud,@RequestParam(value = "name") String name, HttpServletRequest request, HttpServletResponse response){
    logger.info("header:{}",uud);
    download(name,response);
}

關于圖片預覽的支持

圖片預覽一般用在驗證碼等場景中,很多時候,需要直接展示出驗證碼的情況,如下圖:

驗證碼預覽的后端代碼可參考ImageController.java

特別說明,需要指定相應的produces

@Api(value = "圖片預覽",tags = "圖片預覽")
@RestController
@RequestMapping("/api/image")
public class ImageController {


    @GetMapping(value = "/preview",produces = "image/jpeg")
    public void preview(HttpServletRequest request, HttpServletResponse response) throws IOException {
        //more....
    }
}
以上內(nèi)容是否對您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號
微信公眾號

編程獅公眾號