FLASK上传时有中文文件名的解决方案

场景是在nginx+uwsgi+flask时上传文件名为中文时nginx报502错,设置各各地方为utf8后无果,最后妥协了. 解决方案一:拼接+安全检查

def rsafename(s):
            """Ensure user submited string not contains '/' or muti '-'.

            Args:
                s: submited string

            Returns:
                replaced slash string
            """
            s = re.sub('[" "\/\--.]+', '-', s)
            s = re.sub(r':-', ':', s)
            s = re.sub(r'^-|-$', '', s)

            return s

解决方案2: 转成拼音 pip install pypinyin

from pypinyin import pinyin, lazy_pinyin

filesname = "".join(lazy_pinyin(files.filename))

转载于:https://my.oschina.net/u/217662/blog/677276

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值