poi导出,获取后台导出文件名称乱码问题

vue 前台获取后台传回的文件名字

    // decodeURIComponent  处理中文乱码问题
    let dis = decodeURIComponent(response.headers['content-disposition']);
    // 获取后台返回的文件名称
    fileName = dis.split('attachment;filename=')[1];
    // 将返回的对象转换成blob对象
    let blob = new Blob([response.data])
    // 创建一个a标签
    const elink = document.createElement('a')
    // 设置下载名称
    elink.download = fileName
    // 将a标签隐藏
    elink.style.display = 'none'
    // 设置a标签的href属性为blob对象转化的URL
    elink.href = URL.createObjectURL(blob)
    // 将a标签放到body中
    document.body.appendChild(elink)
    // 点击下载
    elink.click()
    // 释放URL对象
    URL.revokeObjectURL(elink.href)
    // 将创建的a标签删除
    document.body.removeChild(elink)

Java后台代码

 response.setHeader("Content-disposition", URLEncoder.encode("attachment;filename=导出文件名字.xlsx","utf-8"));
 response.setContentType("application/msexcel");

这样文件名字是中文就不会出现乱码了。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值