苹果IOS 微信浏览器预览PDF乱码 解决方案

本文描述了如何解决在iOS微信环境中预览PDF文件出现乱码的问题。原先实现是用户点击URL下载PDF,后来修改为直接预览。调整Content-disposition属性为inline后,测试环境和微信中可预览,但在iOS13的微信浏览器中出现乱码。通过检查服务器响应头,发现在生产环境中缺少文件类型设置。经过尝试设置文件返回格式,乱码问题在测试环境中得到解决,但在生产环境中无效。最终,问题根源在于服务器的编码格式,调整后乱码问题在所有环境中都得到了解决。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

    在此之前,此功能的实现是用户点击一个url,服务器返回一个二进制流,浏览器下载后是一个PDF文件,客户可以进行浏览。
    此次收到了合作方的新要求,能够在微信中点击url ,直接预览PDF中的内容。


    第一版:做了非常简单的更改,在response中Set了打开方式 :

response.addHeader("Content-disposition", "attachment; filename="+ new String(polno.getBytes("utf-8"), "ISO8859-1")+"."+suffix);
//原打开方式,Content-disposition:attachment
response.addHeader("Content-disposition", "inline; filename="+ new String(polno.getBytes("utf-8"), "ISO8859-1")+"."+suffix);
//更改后打开方式,Content-disposition:inline

response中header的Content-disposition属性由attachment改为inline , 效果在测试环境表现为连接跳转为直接打开的pdf文件预览,在微信中也可以直接进入预览界面。

但当日上线中,发现存在问题,在苹果设备中(IOS13),微信浏览器中打开时表现为乱码࿱

评论 6
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值