@http.route('/sale/order/import', type='http', methods=['POST', 'GET'], auth="none", csrf=False, cors='*')
def sale_order_import(self, **kw):
json_data = request.httprequest.data
if json_data and isinstance(json_data, bytes):
json_data_dict = json.loads(json_data.decode('utf-8'))
document = json_data_dict.get('documentUrl', '')
file_name = json_data_dict.get('fileName', '')
code, msg, result = 200, '', ''
try:
import_wizard_model = request.env['import.sale.order.wizard'].sudo()
attachment_model = request.env['ir.attachment'].sudo()
**response = requests.get(document)**
**file_upload = base64.b64encode(response.content).decode("utf-8")**
import_wizard_id = import_wizard_model.create({'file_upload': file_upload, 'file_name': file_name})
result, obj = import_wizard_id.with_context({'from_interface': True}).btn_confirm()
if result:
code, msg = 500, '验证数据问题'
attachment_id = attachment_model.create({'datas': obj.error_file, 'name': obj.error_name, 'public':True})
result = {'documentUrl': '{}web/content/{}?download=true'.format(request.httprequest.host_url,attachment_id.id)}
else:
code, msg, result = 200, '导入成功', ''
except Exception as e:
code, msg, result = 500, '导入发生错误', str(e)
json_data = {
"code": code,
"msg": msg,
"result": result
}
return json.dumps(json_data, ensure_ascii=False)
odoo 接口传递文件
于 2023-11-22 17:22:40 首次发布