文件上传 Odoo 10 自定义插件
File Upload Odoo 10 Custom Addons
您好,我在自定义模块上使用自定义向导上传文件
这是我的代码
class BillWizardUpload(models.TransientModel):
_name = "uploadbillpostfinance.wizard"
_description = "For XML Postfinance"
data = fields.Binary(string="Upload File")
file_name = fields.Char(string="File Name")
@api.multi
def import_file(self):
# your treatment
return {}
我的XML文件
<record id="upload_xml_view" model="ir.ui.view">
<field name="name">Upload XML PostFinance</field>
<field name="model">uploadbillpostfinance.wizard</field>
<field name="arch" type="xml">
<form>
<group>
<field name="data" filename="file_name" />
<field name="file_name" invisible="1"/>
</group>
<footer>
<button name="import_file" string="Import" type="object" class="oe_highlight" />
or
<button string="Cancel" class="oe_link" special="cancel" />
</footer>
</form>
</field>
</record>
我对函数导入文件中的待办事项有点困惑,我要上传的文件是 XML 并且想直接处理 xml 而不是将其保存到数据库或提交任何想法或示例如何做?
关注
丹尼尔
您不需要添加功能。在 Odoo 中只需要一个二进制字段来上传文件。
我设法通过使用像这样的正常 get/post 请求解决了这个问题
@api.multi
def import_file(self,context=None):
decoded_data = base64.b64decode(self.data)
xml_filelike = io.BytesIO(decoded_data)
do what you want with file here
您好,我在自定义模块上使用自定义向导上传文件 这是我的代码
class BillWizardUpload(models.TransientModel):
_name = "uploadbillpostfinance.wizard"
_description = "For XML Postfinance"
data = fields.Binary(string="Upload File")
file_name = fields.Char(string="File Name")
@api.multi
def import_file(self):
# your treatment
return {}
我的XML文件
<record id="upload_xml_view" model="ir.ui.view">
<field name="name">Upload XML PostFinance</field>
<field name="model">uploadbillpostfinance.wizard</field>
<field name="arch" type="xml">
<form>
<group>
<field name="data" filename="file_name" />
<field name="file_name" invisible="1"/>
</group>
<footer>
<button name="import_file" string="Import" type="object" class="oe_highlight" />
or
<button string="Cancel" class="oe_link" special="cancel" />
</footer>
</form>
</field>
</record>
我对函数导入文件中的待办事项有点困惑,我要上传的文件是 XML 并且想直接处理 xml 而不是将其保存到数据库或提交任何想法或示例如何做?
关注
丹尼尔
您不需要添加功能。在 Odoo 中只需要一个二进制字段来上传文件。
我设法通过使用像这样的正常 get/post 请求解决了这个问题
@api.multi
def import_file(self,context=None):
decoded_data = base64.b64decode(self.data)
xml_filelike = io.BytesIO(decoded_data)
do what you want with file here