file_in = web.input(fh={})
filedir = 'upload'if 'fh' in file_in:
filename = file_in.fh.filename.decode('utf-8')
fout = open(filedir +'/'+ filename,'wb')
fout.write(file_in.fh.file.read())
fout.close()
return "上传成功!"
2 回答

BIG阳
TA贡献1859条经验 获得超6个赞
如果你是通过网页上传的,要保证 <meta charset="UTF-8" /> 也是 utf-8 编码的,py 文件也用相同的编码保存。
我运行了你的代码,没有发现乱码。不知道你指的乱码是哪一种:
如果是方块的话就需要给服务器安装中文支持
如果是杂乱的乱码,可能需要设置服务器的 locale

白猪掌柜的
TA贡献1893条经验 获得超10个赞
中文文件上传后会出现乱码情况,是因为中文编码默认为GBK,而Python中默认字符编码为unicode,需要把文件名的字符转一下, filename = filename.encode("gb2312"),加上这一句,就OK了
添加回答
举报
0/150
提交
取消