次の操作の逆です。
requests でなく、pycurl を使っています。
Bluemix の Cloudant から、python3 で画像ファイルをダウンロード
DSCF0001.jpg DSCF0002.jpg の2つの画像ファイルをアップロードする例です。
to_cloudant_pycurl.py
#! /usr/bin/python
# -*- coding: utf-8 -*-
#
# to_cloudant_pycurl.py
#
# Jul/26/2017
#
import sys
import pycurl
# --------------------------------------------------------------------
# [2]:
def curl_delete_proc(url_delete):
cc = pycurl.Curl()
cc.setopt(cc.PROXY,'')
cc.setopt(pycurl.URL,url_delete)
cc.setopt(pycurl.CUSTOMREQUEST,'DELETE')
cc.perform()
cc.close()
#
# --------------------------------------------------------------------
# [4]:
def curl_put_proc (url,data):
cc = pycurl.Curl()
cc.setopt(cc.PROXY,'')
cc.setopt(pycurl.URL,url)
cc.setopt(pycurl.CUSTOMREQUEST,"PUT")
cc.setopt(pycurl.POST,1)
cc.setopt(pycurl.POSTFIELDS,data)
#
cc.perform ()
cc.close ()
#
# --------------------------------------------------------------------
# [8]:
def file_upload_proc(url,key):
print(key)
jpg_in = key + ".jpg"
url_jpg_file = url + "/jpg/" + key + "/" + jpg_in
#
fp_in=open(jpg_in,'rb')
image=fp_in.read()
fp_in.close()
#
curl_put_proc(url_jpg_file,image)
#
# --------------------------------------------------------------------
sys.stderr.write("*** 開始 ***\n")
#
url="https://44b508dd-f332-4f91-81f2-78369c7d29d9-bluemix:9dacdfdee666c2a5c16596fc371012e08a61e7132d3b21ecaaf1f63a835f3356@efc189dc-f332-4f91-81f2-78369c7d29d9-bluemix.cloudant.com"
#
#
url_jpg = url + "/jpg"
curl_delete_proc(url_jpg)
#
curl_put_proc(url_jpg,"")
#
for key in ["DSCF0001","DSCF0002"]:
file_upload_proc(url,key)
#
sys.stderr.write("*** 終了 ***\n")
# --------------------------------------------------------------------