从PDF输出切换为Base64输出时需修改哪些响应配置?
问题解答:Spring MVC控制器返回PDF Base64字符串的配置调整
当然需要修改outputReport里的setContentType等配置,具体调整点如下:
- ContentType必须修改:原来返回PDF字节流时用的是
application/pdf,现在要返回Base64编码的字符串,得把ContentType改成text/plain;如果是把Base64包在JSON结构里返回,就用application/json。 - 移除文件处理相关响应头:比如原来可能设置的
Content-Disposition(值为inline或attachment),这个头是告诉浏览器以PDF文件方式处理响应,现在返回的是字符串,留着会导致客户端解析异常,必须删掉。 - 调整输出逻辑:原来的
outputReport是直接向Response写入PDF字节数组,现在得先把PDF字节转成Base64字符串(用Base64.getEncoder().encodeToString(pdfBytes)),再把这个字符串写入Response,而不是直接输出原始字节。
内容的提问来源于stack exchange,提问作者Tan
相关产品推荐
相关产品推荐

