小编Bla*_*esR的帖子

Spring MVC-如何在ResponseEntity方法中返回视图?

我有个问题。我不知道如何在返回类型为的方法中返回视图ResponseEntity。我想使用控制器下载文件。如果上传了文件,则下载工作正常。如果没有文件上传,它什么也不做(返回实际视图)。

现在,我不确定如何执行此操作,因为我想不可能返回视图(为此,我需要返回类型为String的字符串)。

你有什么主意吗?

@Controller
public class FileDownloadController {

  @RequestMapping(value="/download", method = RequestMethod.GET)
  public ResponseEntity fileDownload (@Valid DownloadForm form, BindingResult result) throws IOException{

      RestTemplate template = new RestTemplate();
      template.getMessageConverters().add(new FormHttpMessageConverter());

      HttpEntity<String> entity = new HttpEntity<String>(createHttpHeaders("test.jpg", "image/jpeg"));

      UrlResource url = new UrlResource("www.thisismyurl.com/images" + form.getImageId());

      return new ResponseEntity<>(new InputStreamResource(url.getInputStream()), createHttpHeaders("test.jpg", "image/jpeg"), HttpStatus.OK);

  }

  private HttpHeaders createHttpHeaders(String filename, String contentType) {
    HttpHeaders headers = new HttpHeaders();
    headers.setAll(getHttpHeaderMap(filename, contentType));
    return headers;
  }

  private Map<String,String> getHttpHeaderMap(String filename, String contentType) {
    Map<String, String> headers = …
Run Code Online (Sandbox Code Playgroud)

java spring spring-mvc

5
推荐指数
1
解决办法
1514
查看次数

标签 统计

java ×1

spring ×1

spring-mvc ×1