Odoo 中文社区

    • 注册
    • 登录
    • 搜索
    • 版块
    • 标签
    • 热门
    • 用户
    • 群组

    Odoo中文社区可以通过以下两个域名访问:shine-it.net , odoo.net.cn

    由于系统升迁的原因,本论坛部分较早期的内容存在格式和链接损坏失效的问题,并非本论坛系统本身的缺陷,望谅解

    本社区没有维护任何QQ群讨论组,任何与本社区同名的QQ群讨论组的言论与本社区无关!

    开发人员可以登录gitter讨论组: http://gitter.im/odoo-china/Talk, 需要github账号

    如果您登录系统碰到问题,请在微信公众号留言:

    我通过java插入图片但是在web以及client里面显示不出来

    Odoo 新手求助
    4
    11
    8847
    正在加载更多帖子
    • 从旧到新
    • 从新到旧
    • 最多赞同
    回复
    • 在新帖中回复
    登录后回复
    此主题已被删除。只有拥有主题管理权限的用户可以查看。
    • P
      popkar77 最后由 编辑

      我用的openerp-allinone v5.0
      通过写了一个java的程序添加一幅图片进openERP数据库但是,添加完毕后在页面以及client图片都显示不出来
      代码如下:
      [i]PreparedStatement ps = conn.prepareStatement("update res_partner set x_logo=?,website='wwwwwwwwww' where name='Axelor' ");
      InputStream in;
      try {
      in = new FileInputStream("d:/pic.jpg");
      ps.setBinaryStream(1,in,in.available());
      ps.executeUpdate();
      ps.close();
      } catch (Exception e) {
      System.out.println("插入图片出错");
      e.printStackTrace();
      }[/i]

      [[i] 本帖最后由 popkar77 于 2009-6-8 16:46 编辑 [/i]]

      1 条回复 最后回复 回复 引用 0
      • O
        oldrev 最后由 编辑

        貌似 logo 是用的附件?

        1 条回复 最后回复 回复 引用 0
        • P
          popkar77 最后由 编辑

          哦,。。。我用的不是附件

          [attach]188[/attach]obiect

          [attach]189[/attach]view

          1 条回复 最后回复 回复 引用 0
          • digitalsatori
            digitalsatori 管理员 最后由 编辑

            OpenERP中的 image 和 binary 对象一般会用base64 encode 后存到数据库中。

            直接对数据库存取的方法并不可取,可以使用xml-rpc界面来通讯。具体参见 doc.openerp.com

            【上海先安科技】(tony AT openerp.cn)

            1 条回复 最后回复 回复 引用 0
            • P
              popkar77 最后由 编辑

              现在想通过XML-RPC来实现,就先按照 doc.openerp.com/developer/6_22_XML-RPC_web_services/index.html#java 里面关于java的部分来写,但是现在却出现了另外一个问题,就是不知道通过哪个端口地址来使用Xml-rpc。
              所以我怀疑是我的openERP没有开启XML-rpc,因为我打开client的时候选择了Xml-rpc的时候他说连接不到
              [attach]190[/attach]

              [[i] 本帖最后由 popkar77 于 2009-6-10 10:28 编辑 [/i]]

              1 条回复 最后回复 回复 引用 0
              • mrshelly
                mrshelly 最后由 编辑

                5.0.0.3 版本,我证实过..xmlrpc 接口有问题...

                建议使用 5.0.1.x 版本...

                1 条回复 最后回复 回复 引用 0
                • digitalsatori
                  digitalsatori 管理员 最后由 编辑

                  你的意思是用默认的net-rpc(8070)可以连上?
                  xml-rpc的端口设置可以通过服务器的命令行参数来指定:
                  <code>
                  openerp-server.py --port=8069 -s
                  </code>
                  也可以直接修改服务器配置文件
                  你的系统应该是windows, 那在你的用户文件夹下(即 c:document and settingsXXX)有一个openerp-server.conf的文件,你可以按需设置。

                  【上海先安科技】(tony AT openerp.cn)

                  1 条回复 最后回复 回复 引用 0
                  • P
                    popkar77 最后由 编辑

                    我现在已经成功使用java通过XML-RPC来进行object对象的create,但是问题仍然回到了图片怎样存进去,我试过使用本地地址但是不成功,使用网络地址在web浏览的时候还出现了BUG。

                    HashMap hash = new HashMap();
                    hash.put("name", "HELLO");
                    hash.put("relation", "regular");
                    hash.put("logo", "D:\pic.jpg");

                    Object[] params = new Object[] {"mda",id,"admin", "res.partner", "create", hash};
                    client_obj.execute("execute", params);

                    其他的成功插入,但是图片不知道怎么插入。:L

                    1 条回复 最后回复 回复 引用 0
                    • digitalsatori
                      digitalsatori 管理员 最后由 编辑

                      logo--> x-logo, 应该还是base64 encoding的问题,不了解Java,以下是Python的方法,参考一下:
                      [code]args = [('name', '=', 'Axelor'),]
                      ids = sock.execute(dbname, uid, pwd, res.partner, 'search', args)

                      values['x_logo'] = base64.encodestring(open(imgfile, 'rb').read())
                      results = sock.execute(dbname, uid, pwd, res.partner, 'write', ids, values)

                      [/code]

                      【上海先安科技】(tony AT openerp.cn)

                      1 条回复 最后回复 回复 引用 0
                      • P
                        popkar77 最后由 编辑

                        找到了方法了。。。:lol 谢谢大家
                        [code]]InputStream photoStrean = new FileInputStream(file);

                        byte[] bytes = new byte[photoStrean.available()];
                        photoStrean.read(bytes);
                        photoStrean.close();

                        BASE64Encoder encoder = new BASE64Encoder();

                        HashMap hash = new HashMap();
                        hash.put("name", "hello with JPG!!");
                        hash.put("logo", encoder.encode(bytes));

                        Object[] ids = new Object[]{50};

                        Object[] params = new Object[] {"mda",id,"admin", "res.partner", "write",ids, hash};
                        Object result = client_obj.execute("execute", params);
                        }
                        catch(Exception e){
                        System.out.println("插入图片出错");

                        }[/code]

                        [[i] 本帖最后由 popkar77 于 2009-6-11 15:19 编辑 [/i]]

                        1 条回复 最后回复 回复 引用 0
                        • First post
                          Last post