如何解决如何解决错误返回 binascii.a2b_base64(s) binascii.Error: Incorrect padding?
我在创建 excel 文件和 csv 文件时遇到此错误。错误显示在 purchase_id = self.env['purchase.excel.extended'].create(attach_files)
行中。我该如何解决这个问题?
下面是我的代码:
for data in datas:
record = ';'.join(data)
output.write(record)
output.write("\n")
data = base64.b64encode(bytes(output.getvalue(),"utf-8"))
print('data',data)
if platform.system() == 'Linux':
excel_file1 = ('/tmp/Purchase Report-' + str(datetime.today().date()) + '.xls')
csv_file1 = ('/tmp/Purchase Report-' + str(datetime.today().date()) + '.csv')
else:
excel_file1 = ('Purchase Report-' + str(datetime.today().date()) + '.xls')
csv_file1 = ('Purchase Report-' + str(datetime.today().date()) + '.csv')
excel_file1 = excel_file1.split('/')[2]
csv_file1 = csv_file1.split('/')[2]
workbook.save(excel_file1)
fp = open(excel_file1,"rb")
file_data = fp.read()
out = base64.encodestring(file_data)
# Files actions
attach_files = {
'excel_file': excel_file1,'file_name': out,'csv_file': csv_file1,'file_names': data,}
print(attach_files,'attach_files')
purchase_id = self.env['purchase.excel.extended'].create(attach_files)
fp.close()
return {
'type': 'ir.actions.act_window','res_model': 'purchase.excel.extended','res_id': purchase_id,'view_mode': 'form','context': self.env.context,'target': 'new',}
解决方法
我认为您交换了 excel 文件名和 excel 文件内容。与 CSV 文件类似。
attach_files = {
'excel_file': excel_file1,'file_name': out,'csv_file': csv_file1,'file_names': data,}
应该是:
attach_files = {
'excel_file': out,'file_name': excel_file1,'csv_file': data,'file_names': csv_file1,}
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。