Openerp上传中文名附件,下载时报错的处理方法
文档管理中,如果上传的文件名含有中文字符,下载时会提示出错,如没有权限等。这个问题困惑我比较久的时间,通过跟踪openerp_server.log,可以看到类似提示:
2012-09-28 21:51:39,069 2332 INFO ? werkzeug: 127.0.0.1 - - [28/Sep/2012 21:51:39] "POST /web/binary/saveas_ajax HTTP/1.1" 500 -
2012-09-28 21:51:39,115 2332 ERROR ? werkzeug: Error on request:
Traceback (most recent call last):
File "werkzeug\serving.py", line 159, in run_wsgi
File "werkzeug\serving.py", line 146, in execute
File "C:\Program Files (x86)\OpenERP 6.1-1\server\openerp\wsgi\core.py", line 397, in application
result = handler(environ, start_response)
File "C:\Program Files (x86)\OpenERP 6.1-1\server\openerp\addons\web\common\http.py", line 467, in __call__
return self.dispatch(environ, start_response)
File "werkzeug\wsgi.py", line 411, in __call__
File "C:\Program Files (x86)\OpenERP 6.1-1\server\openerp\addons\web\common\http.py", line 505, in dispatch
return response(environ, start_response)
File "werkzeug\wrappers.py", line 1082, in __call__
File "werkzeug\wrappers.py", line 1072, in get_wsgi_response
File "werkzeug\datastructures.py", line 1141, in to_list
UnicodeEncodeError: 'latin-1' codec can't encode characters in position 28-29: ordinal not in range(256)
可见问题还是出在字符解析上。(附件文档相关的数据表是ir_attchement,数据表里面的中文没有问题)
后来逛论坛,发现http://shine-it.net/index.php/topic,2919.msg9861.html#msg9861的帖子tommo提到解决办法,
addons/web/controllers/main.py
Binary类的saveas和saveas_ajax方法中:
在 return req.make_response(....)前面插入
if isinstance(filename, unicode): filename=filename.encode('utf8')
重启openerp服务。
试了可以下载,但是文件名的中文部分乱码,因为考虑到文件名除了中英文外,没有其它语言,遂改为:
if isinstance(filename, unicode): filename=filename.encode('gb2312')
Openerp上传中文名附件,下载时报错的处理方法的更多相关文章
- iOS 上传新版本到AppStore时报错ITMS-90034
今天打包新版本上传到AppStore时报错 ERROR ITMS-90034:"Missing or invalid signature.The bundle'com.xxx.xxx' at ...
- Uedior上传大文件超时报错
出错原因: 1.php超时等待时间太短 2.uedior中设置了请求超时,提示信息: 上传失败,请重试 先解决第一个问题: 设置php.ini中的max_execution_time 为0 (意思是h ...
- 关于confluence上传文件附件预览查看时出现乱码的问题解决办法
在confluence上传excel文件,预览时发现乱码问题主要是因为再上传文件的时候一般是Windows下的文件上传,而预览的时候,是linux下的环境,由于linux下没有微软字体,所以预览的时候 ...
- confluence上传文件附件预览乱码问题(linux服务器安装字体操作)
在confluence上传excel文件,预览时发现乱码问题主要是因为再上传文件的时候一般是Windows下的文件上传,而预览的时候,是linux下的环境,由于linux下没有微软字体,所以预览的时候 ...
- 文件批量上传-统一附件管理器-在线预览文件(有互联网和没有两种)--SNF快速开发平台3.0
实际上在SNF里使用附件管理是非常简单的事情,一句代码就可以搞定.但我也要在这里记录一下统一附件管理器能满足的需求. 通用的附件管理,不要重复开发,调用尽量简洁. 批量文件上传,并对每个文件大小限制, ...
- Jmeter和LR上传文件和下载
Jmeter和LR上传文件和下载 背景: 在某个申请业务中,需要上传附件文件,然后才能提交该申请 遇到的问题: 1, 在使用Jmeter或者LR进行录制时,无法录制到上传文件的请求,只能通过Fidd ...
- Selenium(十一):设置元素等待、上传文件、下载文件
1. 设置元素等待 前面我们接触了几个元素等待方法,sleep.implicitly_wait方法,这一章我们就来整体学一下. 现在大多数Web应用程序使用的都是AJAX技术.当浏览器加载页面时,页面 ...
- Java ftp 上传文件和下载文件
今天同事问我一个ftp 上传文件和下载文件功能应该怎么做,当时有点懵逼,毕竟我也是第一次,然后装了个逼,在网上找了一段代码发给同事,叫他调试一下.结果悲剧了,运行不通过.(装逼失败) 我找的文章链接: ...
- ie8 ajaxSubmit 上传文件提示下载
转载 解决ie下ajaxsubmit上传文件提示下载文件问题 主要是应为放回类型为json,返回text/html
随机推荐
- poj 1568 Find the Winning Move 极大极小搜索
思路:用极大极小搜索解决这样的问题很方便!! 代码如下: #include <cstdio> #include <algorithm> #define inf 10000000 ...
- lintcode:最小编辑距离
最小编辑距离 给出两个单词word1和word2,计算出将word1 转换为word2的最少操作次数. 你总共三种操作方法: 插入一个字符 删除一个字符 替换一个字符 样例 给出 work1=&quo ...
- React-非dom属性-key
一.react性能 1.内容类似的尽量归到同一人组件,这样react不用每次都重新渲染 2.类似列表的内容,要加上key,可减少渲染次数 3.react渲染过程 二.代码 <!DOCTYPE h ...
- mysql主从配置(转载)
原创作品,允许转载,转载时请务必以超链接形式标明文章 原始出处 .作者信息和本声明.否则将追究法律责任.http://369369.blog.51cto.com/319630/790921 还可以参考 ...
- 配置Tomcat的服务端口
- Mysql笔记——DQL
DQL就是数据查询语言,数据库执行DQL语句不会对数据进行改变,而是让数据库发送结果集给客户端. 语法: SELECTselection_list /*要查询的列名称*/ FROM table_lis ...
- ubuntu common
系统信息 # uname -a # 查看内核/操作系统/CPU信息 # cat /etc/issue # 查看操作系统版本 #cat /proc/version ...
- 关于LINUX权限-bash: ./startup.sh: Permission denied
关于LINUX权限-bash: ./startup.sh: Permission denied <script type="text/javascript"></ ...
- Oracle ->> 连续聚合
select id, grp_factor, sum (id) over( partition by grp_factor order by id rows between unbounded pre ...
- Hadoop系列
http://www.cnblogs.com/xia520pi/archive/2012/04/08/2437875.html#2925129 hadoop提供了一个可靠的共享存储和分析系统.HDFS ...