(转)activiti模型导出——衍生response响应方式解析
2018-02-13 14:38
369 查看
原链接:http://blog.csdn.net/II_bat/article/details/51490131
在activiti工作流的模型导出时遇到一个问题,平均以10kb大小为界限,10kb以内的能够正常导出,超过10kb的浏览器会直接在页面预览,不能正常导出。经过各种方式测试与大量对比网上资料,发现文件response存在一个分块输出的原理,一旦文件过大就会将文件分成一块一块的字节流输出,一旦response进行了分块操作,那么设置Header的时候就一定要注意,一定要在输出流执行之前进行初始化(设置response的各种属性)。
个人理解(不懂原理,只能这样了):
文件小,response不需要分块操作,所以你在response执行完毕之前设置属性都可以,因为只有一个输出流进行操作。
但是一旦文件过大,进行分块后有多个输出流执行,这时候设置属性,response就不知道如何进行解析定位(或者是将属性赋予了第一个输出流,后面的使用默认属性)。
由于response使用的是缓存机制,一个输出流响应后匹配属性正常,多个输出流分块后匹配一个属性设置,要么无法匹配,要么匹配其中一个,就导致最终响应头属性设置失败,后果就是下载变成了预览功能。
相关文章推荐
- activiti模型导出——衍生response响应方式解析
- java后台poi方式导出excel和解析excel
- 理解HTTP协议的Request/Response(请求响应)模型
- Response方式导出Excel
- tf_serving-模型训练、导出、部署(解析)
- ActiveMQ实战(四)--ActiveMQ的通信方式之request-response(请求响应模式)
- 函数导出方式不对,导致的“error link2019 无法解析的外部符号 ”
- http realtime response 基于http的实时响应方式的演进
- Activiti工作流REST方式访问URI的解析
- 在线聊天项目1.4版 使用Gson方法解析Json字符串以便重构request和response的各种请求和响应 解决聊天不畅问题 Gson包下载地址
- 【转】:理解HTTP协议的Request/Response(请求响应)模型
- 理解HTTP协议的Request/Response(请求响应)模型
- 理解HTTP协议的Request/Response(请求响应)模型
- Response.Write Table 方式导出Excel 添加样式
- [libexpat]_[XML处理]_[C/C++使用libexpat库以数据流(SAX模型)的方式读取(解析)大XML文件]
- 通过Response输出方式导出Excel
- [libexpat]_[XML处理]_[C/C++使用libexpat库以数据流(SAX模型)的方式读取(解析)大XML文件]
- 通过Response输出方式导出Excel
- libcurl通过HTTPS方式提交XML并解析响应信息
- 在线聊天项目1.4版 使用Gson方法解析Json字符串以便重构request和response的各种请求和响应 解决聊天不畅问题 Gson包下载地址