java post 文件流_JAVA返回前端文件流 post 方式下载 (2种方式)

方式一:

this.postExcelFile(res.data.data,`${base.baseUrl}/sys/recordTemplate/exportExcel`);

第一个参数是 文件流      res.data.data

第二个参数是下载地址   `${base.baseUrl}/sys/recordTemplate/exportExcel`

postExcelFile(params, url) {

// params是post请求需要的参数,url是请求url地址

const form = document.createElement('form');

form.style.display = 'none';

form.action = url;

form.method = 'post';

document.body.appendChild(form);

const input = document.createElement('input');

input.type = 'hidden';

input.name = 'idList';

input.value = params;

form.appendChild(input);

form.submit();

form.remove();

},

完整代码:

this.$api.paramsConfig.checkExportExcelTemplate(ids).then(res => {

<
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
以下是Java代码根据来生成文件返回前端预览显示的示例: ```java @RestController public class FileController { @PostMapping(value = "/preview") public ResponseEntity<?> previewFile(@RequestParam("file") MultipartFile file) throws IOException { // 读取文件 InputStream inputStream = file.getInputStream(); // 根据文件生成文件 File tempFile = File.createTempFile("temp", ".pdf"); try (OutputStream outputStream = new FileOutputStream(tempFile)) { byte[] buffer = new byte[1024]; int bytesRead; while ((bytesRead = inputStream.read(buffer)) != -1) { outputStream.write(buffer, 0, bytesRead); } } // 返回生成的文件前端预览 HttpHeaders headers = new HttpHeaders(); headers.setContentType(MediaType.APPLICATION_PDF); headers.setContentDisposition(ContentDisposition.builder("inline").filename("preview.pdf").build()); ByteArrayResource resource = new ByteArrayResource(Files.readAllBytes(tempFile.toPath())); return new ResponseEntity<>(resource, headers, HttpStatus.OK); } } ``` 在这个示例中,我们使用Spring Boot框架编写了一个RestController,该Controller提供了一个名为previewFile的POST接口,用于接收前端上传的文件,并根据文件生成一个PDF文件,并将生成的PDF文件返回前端进行预览显示。 在Controller中,我们使用MultipartFile对象来接收前端上传的文件,然后从MultipartFile对象中获取文件,使用File.createTempFile()方法来生成临时文件,再将文件写入到临时文件中,最后将生成的PDF文件以ByteArrayResource的形式返回前端进行预览显示。在返回响应时,我们设置了Content-Type为application/pdf,Content-Disposition为inline,并将ByteArrayResource作为响应主体返回前端

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值