我在使用api对数据表进行get的时候,好像get不到「附件」对应的字段内容,并且也查不到如何通过post对附件进行更新
PS:我看了这份api文档:
https://docs.nocobase.com/handbook/file-manager/http-api
我新建了一个文件表,并且可以通过api进行操作,但是对于普通表的附件字段依然不知道如何操作(上传 / 删除附件等等)
我在使用api对数据表进行get的时候,好像get不到「附件」对应的字段内容,并且也查不到如何通过post对附件进行更新
PS:我看了这份api文档:
https://docs.nocobase.com/handbook/file-manager/http-api
我新建了一个文件表,并且可以通过api进行操作,但是对于普通表的附件字段依然不知道如何操作(上传 / 删除附件等等)
附件字段的文件数据目前保存在一张 attachments 系统表之中,暂时未开放使用。如果需要通过 API 访问,可以使用这个表名,或使用包含附件字段的主表的 API,通过 appends 参数与其他数据一并加载。
非常感谢!通过appends参数获取到了!
目前通过https://docs.nocobase.com/handbook/file-manager/http-api 上传附件,最终会在attachments表创建一条记录,但是这条记录ID与某主记录的ID如何建立关联关系呢?我们如何通过api在这张中间表创建记录?
你在任何一个表格组件里面,查看网络,里面可以看到请求 rest 数据,里面的 url 可以看到。
这种方法可以用在任何地方,如果不了解,就尝试看 nocobase 本身是怎么做的。
默认还会生成一个数据表t_xxxx这种格式的,里面有两个类似f_xxx的字段,对应一个是主表id一个附件id
谢谢,这个思路很不错
没想到这个帖子这么久还有回复,我说一下我现在的方案:
curl -X 'POST' \
'{nocobase的url}/api/mail_files:create' \
-H 'Authorization: Bearer {你的token}' \
-F "file=@{文件路径}"
curl -X 'POST' \
'{nocobase的url}/api/mail_list/{邮件条目的id}/{关系附件的字段}:set?filterByTk={刚刚得到的文件id}' \
-H 'Authorization: Bearer {你的token}'
其实还有一个方法:
curl -X 'POST' \
'{nocobase的url}/api/mail_list/{邮件条目的id}/{关系附件的字段}:create' \
-H 'Authorization: Bearer {你的token}' \
-F "file=@{文件路径}"
这个也可以上传附件,但是上传到uploads文件夹中的路径并不是设定的路径,而是默认路径,这可能是一个bug🤔