首页 > 其他分享 >在浏览器中预览、下载pdf文件

在浏览器中预览、下载pdf文件

时间:2022-11-22 09:34:58浏览次数:48  
标签:浏览器 预览 url res bytes ResponseEntity new pdf

浏览器直接打开pdf文件: 

 const pdfWindow = window.open(url, '_blank');
 pdfWindow.print();

  如果上面的代码是直接下载了pdf文件, 则可以改为:

window.open(api/dms/downloadViewFile + '?url=' + res, '_blank'); 后端代码:
	@GetMapping(value = "/downloadViewFile")
	public @ResponseBody ResponseEntity<Resource> downloadViewFile(@RequestParam("url") String url) {
		logger.debug("url: {}", url);
		String contentType = "application/pdf";
		ResponseEntity<byte[]> bytes = ResponseEntity.ok().body(null);;
		try {
			bytes = new RestTemplate().getForEntity(url, byte[].class);
		} catch (Exception e) {
			url = url.replace("https","http");
			bytes = new RestTemplate().getForEntity(url, byte[].class);
		}
		ByteArrayInputStream byteArrayInputStream = new ByteArrayInputStream(Objects.requireNonNull(bytes.getBody()));
		ResponseEntity<Resource> res= ResponseEntity.ok().contentType(MediaType.parseMediaType(contentType))
				.header(HttpHeaders.CONTENT_DISPOSITION, "inline; filename=\"" + "tu.pdf" + "\"").body(new InputStreamResource(byteArrayInputStream));
		return res;
	}

  

 

标签:浏览器,预览,url,res,bytes,ResponseEntity,new,pdf
From: https://www.cnblogs.com/z360519549/p/16914119.html

相关文章