ホームページ  >  記事  >  バックエンド開発  >  Python を学習して Qiniu Cloud インターフェースのドッキングと画像変換機能を実装する

Python を学習して Qiniu Cloud インターフェースのドッキングと画像変換機能を実装する

WBOY
WBOYオリジナル
2023-07-08 10:09:121693ブラウズ

Qiniu Cloud インターフェース ドッキングを実装し、画像変換機能を実現するために Python を学習します

はじめに:
インターネットの発展に伴い、写真は私たちの日常生活において非常に重要な役割を果たしています。 Web サイト開発では、画像の拡大縮小、切り抜き、形式の変換などの画像変換が一般的な要件になります。 Qiniu Cloud は、強力で安定した画像処理機能を提供する中国の有名なクラウド ストレージ サービス プロバイダーです。この記事では、Python 言語を使用して Qiniu Cloud のインターフェースに接続し、画像変換機能を実現する方法を紹介します。

1. 準備:

  1. Qiniu Cloud アカウントを登録し、ストレージスペースを作成します。
  2. HTTP リクエストを送信するための Python のリクエスト ライブラリをインストールします。
  3. Qiniu クラウド ストレージ スペースの AccessKey と SecretKey を取得します。

2. 依存ライブラリのインポート:
リクエスト ライブラリを使用して Python プロジェクトで HTTP リクエストを送信するには、最初にリクエスト ライブラリをコードにインポートする必要があります。

import requests

3. Qiniu Cloud のアップロード証明書を取得する:
画像をアップロードする前に、まずアップロード証明書を取得する必要があります。 Qiniu Cloud のアップロード証明書は、ファイルのアップロードに使用されるトークンであり、アップロード動作の合法性を検証するために使用されます。次のコードは、Qiniu Cloud の API を介してアップロード認証情報を取得する方法を示しています。

access_key = 'your_access_key'  # 七牛云的AccessKey
secret_key = 'your_secret_key'  # 七牛云的SecretKey
bucket_name = 'your_bucket_name'  # 存储空间名称

def get_upload_token(access_key, secret_key, bucket_name):
    url = 'http://api.qiniu.com/put-policy/{}/put-policy'.format(bucket_name)
    auth = requests.auth.HTTPBasicAuth(access_key, secret_key)
    response = requests.get(url, auth=auth)
    result = response.json()
    if 'token' in result:
        return result['token']
    else:
        raise ValueError('Failed to get upload token.')

upload_token = get_upload_token(access_key, secret_key, bucket_name)

4. 画像ファイルのアップロード:
アップロード資格情報を取得したら、画像ファイルのアップロードを開始できます。 Qiniu Cloud では、カスタム キーを使用して、アップロードされたファイル リソースを識別できます。次のコードは、Python 言語を使用して画像ファイルを Qiniu Cloud にアップロードする方法を示しています。

def upload_image(file_path, upload_token):
    url = 'http://upload.qiniu.com/'
    headers = {
        'Content-Type': 'multipart/form-data',
    }
    files = {'file': open(file_path, 'rb')}
    data = {'token': upload_token}
    response = requests.post(url, headers=headers, files=files, data=data)
    result = response.json()
    if 'key' in result:
        return result['key']
    else:
        raise ValueError('Failed to upload image.')

image_path = 'your_image_path'  # 待上传的图片文件路径
image_key = upload_image(image_path, upload_token)

5. 画像変換操作を実行します:
画像ファイルが正常にアップロードされた後、Qiniu Cloud の API を介して画像に対してさまざまな変換操作を実行できます。 Qiniu Cloud は、画像の拡大縮小、トリミング、フォーマット変換など、多くの強力な画像処理機能を提供します。次のコードは、Python 言語を使用して Qiniu Cloud のインターフェイスを呼び出し、画像のスケーリングと形式の変換を実現する方法を示しています。

def image_tranformation(image_key, new_image_key, width, height, format):
    url = 'http://api.qiniu.com/image/v2/{}'.format(image_key)
    headers = {
        'Content-Type': 'application/x-www-form-urlencoded',
    }
    params = {
        'imageView2': '/{}.w_{}/h_{}/format/{}'.format(new_image_key, width, height, format),
    }
    response = requests.get(url, headers=headers, params=params)
    with open(new_image_key, 'wb') as f:
        f.write(response.content)

new_image_key = 'your_new_image_key'  # 新生成的图片文件key
width = 500  # 新图片的宽度
height = 500  # 新图片的高度
format = 'jpg'  # 新图片的格式
image_tranformation(image_key, new_image_key, width, height, format)

6. 概要:
この記事では、Python 言語を使用して Qiniu Cloud インターフェイスに接続し、画像変換機能を実現する方法を紹介します。この記事を学習すると、Python 言語と Qiniu Cloud の API を使用して画像をアップロードおよび変換する方法をマスターできます。この記事が、Qiniu Cloud を画像処理に使用する際の参考になれば幸いです。

以上がPython を学習して Qiniu Cloud インターフェースのドッキングと画像変換機能を実装するの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。