【问题标题】:Upload local images in kairos python在kairos python中上传本地图像
【发布时间】:2017-08-23 06:09:44
【问题描述】:

下面是我从本地机器上传 kairos 文件的代码。

from urllib2 import Request, urlopen

values_enroll = """
  {
    "image": "/home/neel/project/test5.jpg",
    "subject_id": "2",
    "gallery_name": "MyGallery"
  }
"""

headers_enroll = {
  'Content-Type': 'application/json',
  'app_id': '2dxxxx79',
  'app_key': '08aa31ebdxxxxxxxxxxaa6f6c87f4ea8'
}

request_enroll = Request('https://api.kairos.com/enroll', 
data=values_enroll, headers=headers_enroll)
response_body_enroll = urlopen(request_enroll).read()
print response_body_enroll

当我运行这段代码时,我得到一个错误:

"{"Errors":[{"ErrCode":5000,"Message":"必须发送无效图像 为jpg或png格式"}]}"

我正在关注此文档:http://docs.kairosv1.apiary.io/#reference/face-recognition/enroll/post

现在我不想从可公开访问的 URL 上传图片,而是从本地计算机上传图片,并且在从可公开访问的 URL 上传图片时工作正常。

我也尝试了两个解决方案:Error while trying to upload file using kairos 以及解决方案:http://www.projsolution.com/a107-6007-python

【问题讨论】:

    标签: python image-uploading


    【解决方案1】:

    最近我找到了一个解决方案(它对我有用):

    files = {"image": ("test5.jpg",open("/home/neel/project/test5.jpg","rb"))}
    
    values_enrol = """
    {
       "subject_id": "2",
       "gallery_name": "MyGallery"
    }
    """
    res = requests.post("https://api.kairos.com/enroll", files=files, data=values_enroll, headers=headers)
    

    p/s:如果你删除 Content-Type 就可以了

    【讨论】:

      猜你喜欢
      • 2013-09-12
      • 2011-12-28
      • 2018-10-22
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-08-06
      • 1970-01-01
      • 2013-09-20
      相关资源
      最近更新 更多