前端Vue界面点击下载按钮,后端返回到前端pdf

前端代码如下:

        1.发送请求时进行设置:

        handleDetail(e){

                  let id = e.id

                    this.axios({

                        //设置请求路径并传递参数

                        url:this.url.getPoi+id,

                        //设置请求的方法

                        method:'post',

                        //设置响应体类型为blob

                        responseType: 'blob',

                        //设置格式

                        type: 'multipart/form-data'

            }).then(res => {

                     //浏览器界面展示的文件名

                    const fileName =  e.contractNumber+ '.pdf'

                    const elink = document.createElement('a')

                    elink.download = fileName

                    elink.style.display = 'none'

                    let binaryData = [];

                    binaryData.push(res);

                    elink.href = window.URL.createObjectURL(new Blob(binaryData));

                    document.body.appendChild(elink);

                    elink.click();

                    URL.revokeObjectURL(elink.href); // 释放URL 对象

                    document.body.removeChild(elink);

                    this.$message.success("下载成功");

                })

        }

后端代码:

File file1=new File(File1);
InputStream inputStream=new FileInputStream(file1);
//再次去读取到本地的pdf文件
int len;
byte[] buf=new byte[1024];
OutputStream stream=httpServletResponse.getOutputStream();
 while ((len=inputStream.read(buf))!=-1){
    stream.write(buf,0,len);
}
inputStream.close();
httpServletResponse.setContentType("pdf/test.pdf"+";charset=utf-8");
stream.flush();
stream.close();

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值