This question has been flagged
1 Reply
3420 Views

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

Avatar
Discard
Best Answer

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;

Avatar
Discard