跳至内容
菜单
此问题已终结
1 回复
4537 查看

How to deal with binary field in odoo 10 by web service ripcord php to upload attachment files in ir.attachment table 

形象
丢弃
最佳答案

To upload file with web service, you can convert file in base64.

You can write as following :

<?php
$url = 'your odoo url';
$db = 'your database name';
$username = 'admin';
$password = 'admin';
require_once 'ripcord/ripcord.php';

$info = ripcord::client('https://demo.odoo.com/start')->start();
$common = ripcord::client($url . '/xmlrpc/2/common');
$models = ripcord::client("$url/xmlrpc/2/object");

$b64image = base64_encode(file_get_contents('your image path'));
$uid = $common->authenticate($db, $username, $password, array());
$created_image_id = $models->execute_kw($db, $uid, $password,'ir.attachment','create',
                                        array(
                                            array(
                                                    'name'=>'test.png',
                                                    'datas'=> $b64image,
                                                    'datas_fname'=> 'test.png',
                                                    'res_model'=> 'res.partner',
                                                    'type'=> 'binary'
                                                )
                                            )
                                        );
echo $created_image_id;

形象
丢弃
相关帖文 回复 查看 活动
2
7月 20
27716
1
6月 23
3291
5
5月 23
15273
2
12月 23
5236
1
5月 22
2479