首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何将apk文件上传为二进制域并在odoo中以相同文件名下载

如何将apk文件上传为二进制域并在odoo中以相同文件名下载
EN

Stack Overflow用户
提问于 2021-09-07 13:54:40
回答 1查看 56关注 0票数 0

我需要一个表格,接受上传安卓.apk文件。然后用同样的名字下载它。

这里是我开始的地方

代码语言:javascript
复制
# model.py
class AppVersion(models.Model):
  # ...
  apk_file = fields.Binary('Apk file', filters='*.apk', required=True)

但在odoo-14中,filters参数不再起作用。它接受所有类型文件。

上传完成后,download按钮会给我一个zip文件。

EN

回答 1

Stack Overflow用户

发布于 2021-09-07 13:54:40

经过一些源代码研究,我找到了解决方案:

问题1:仅接受.apk文件

将具有accepted_file_extensions属性的options属性添加到二进制字段。

问题2:下载同名文件

在模型中添加一个新的字符字段来保存文件名,并将其绑定到具有filename属性的二进制字段。别忘了将新字段添加到表单视图中(设置为invisible)

代码

代码语言:javascript
复制
# model
class AppVersion(models.Model):
  # ...
  apk_file = fields.Binary('Apk file', store=True, attachment=False, required=True)
  apk_fname = fields.Char(string='File name')
代码语言:javascript
复制
<!--form view-->
<field name="apk_file" widget="binary" options="{'accepted_file_extensions': '.apk'}" filename="apk_fname"/>
<field name="apk_fname" invisible="1"/>

成功结果

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/69089525

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档