すべてのプロダクト
Search
ドキュメントセンター

Object Storage Service:イメージ情報のクエリ

最終更新日:Apr 07, 2024

一部の画像は、画像属性および撮影設定を含む交換可能画像ファイルフォーマット (EXIF) データを含むことができる。 画像のEXIFデータは、圧縮率、向き、水平解像度、垂直解像度などの画像情報を含む。 画像のEXIFデータを取得する場合は、画像のURLにinfoパラメーターを追加します。

パラメーター

アクション: info

返される情報はJSON形式です。

制限事項

infoアクションを使用して、JPG、PNG、BMP、GIF、WebP、TIFF、およびHEICイメージに関する情報のみを照会できます。

説明

infoアクションを使用してPNG画像のEXIFデータを照会することはできません。

オブジェクトURL、OSS SDK、またはAPI操作を使用して、イメージの処理に使用されるIMGパラメーターを設定できます。 この例では、オブジェクトURLが使用されます。 オブジェクトURLを使用して、パブリック読み取りイメージに対してのみIMGパラメーターを設定できます。 プライベートイメージのIMGパラメーターを設定する場合は、OSS SDKまたはAPI操作を使用します。 詳細については、「IMG実装モード」をご参照ください。

  • EXIFデータを含まないイメージに関する情報の照会

    https://image-demo.oss-cn-hangzhou.aliyuncs.com/example.jpg?x-oss-process=image/info

    EXIFデータを含まない画像のURLにinfoパラメーターを追加すると、画像のサイズ、形式、高さ、幅など、画像に関する基本情報のみが返されます。

    {
      "FileSize": {"value": "21839"},
      "Format": {"value": "jpg"},
      "FrameCount": {"value": "1"} 、
      "ImageHeight": {"value": "267"},
      "ImageWidth": {"value": "400"} 、
      "ResolutionUnit": {"value": "1"} 、
      "XResolution": {"value": "1/1"} 、
      "YResolution": {"value": "1/1"}
    } 
  • EXIFデータを含むイメージに関する情報の照会

    https://image-demo.oss-cn-hangzhou.aliyuncs.com/f.jpg?x-oss-process=image/info

    EXIFデータを含むイメージのURLにinfoパラメーターを追加すると、イメージに関する基本情報とイメージのEXIFデータが返されます。 EXIFデータの詳細については、「Exifバージョン2.31」をご参照ください。

    {
      "Compression": {"value": "6"},
      "DateTime": {"value": "2015:02:11 15:38:27"},
      "ExifTag": {"value": "2212"},
      "FileSize": {"value": "23471"},
      "Format": {"value": "jpg"},
      "GPSLatitude": {"value": "0deg "},
      "GPSLatitudeRef": {"value": "North"},
      "GPSLongitude": {"value": "0deg "},
      "GPSLongitudeRef": {"value": "East"},
      "GPSMapDatum": {"value": "WGS-84"},
      "GPSTag": {"value": "4292"},
      "GPSVersionID": {"value": "2 2 0 0"},
      "ImageHeight": {"value": "333"},
      "ImageWidth": {"value": "424"},
      "JPEGInterchangeFormat": {"value": "4518"},
      "JPEGInterchangeFormatLength": {"value": "3232"},
      "Orientation": {"value": "7"},
      "ResolutionUnit": {"value": "2"},
      "Software": {"value": "Microsoft Windows Photo Viewer 6.1.7600.16385"},
      "XResolution": {"value": "96/1"},
      "YResolution": {"value": "96/1"}} 

よくある質問

プライベートイメージに関する情報を照会するにはどうすればよいですか?

プライベートイメージに関する情報を照会するには、OSS SDKを使用してinfoパラメーターを署名付きURLに追加し、そのURLを使用してイメージにアクセスします。

  1. 署名付きURLを生成します。

    次のサンプルコードは、OSS SDK for Javaを使用して署名付きURLを生成する方法の例を示しています。

    com.aliyun.oss.*;
    impor t com.aliyun.oss.com mon.auth.*;
    com.aliyun.oss.mo del.GeneratePresignedUrlRequestをインポートします。impor t java.net.URL;
    java.util.Dateをインポートします。public classデモ {
        public static void main(String[] args) Throwable {
            // この例では、中国 (杭州) リージョンのエンドポイントが使用されます。 実際のエンドポイントを指定します。 
            String endpoint = "https://oss-cn-hangzhou.aliyuncs.com";
            // セキュリティ上の理由から、プロジェクトコードにアクセス資格情報を保存しないことをお勧めします。 この例では、アクセス資格情報は環境変数から取得されます。 サンプルコードを実行する前に、環境変数が設定されていることを確認してください。 
            EnvironmentVariableCredentialsProvider credentialsProvider = CredentialsProviderFactory.newEnvironmentVariableCredentialsProvider();
            // バケットの名前を指定します。 例: examplebucket. 
            String bucketName = "examplebucket";
            // オブジェクトのフルパスを指定します。 バケット名をフルパスに含めないでください。 
            文字列objectName = "exampleobject.jpg";
    
            // Create an OSSClient instance. 
            OSS ossClient = new OSSClientBuilder().build(endpoint, credentialsProvider);
    
            try {
                // イメージオブジェクトに関する情報を照会します。 
                文字列スタイル="image/info";
                // 署名付きURLの有効期間を10分に設定します。 
                Date expiration = new Date(new Date().getTime() + 1000 * 60 * 10 );
                GeneratePresignedUrlRequest req = new GeneratePresignedUrlRequest(bucketName, objectName, HttpMethod.GET);
                req.setExpiration(expiration);
                req.setProcess(style);
                URL signedUrl = ossClient.generatePresignedUrl(req);
                System.out.println(signedUrl);
            } catch (Exception e) {
                System.out.println("Caught an OSSException, which means your request made it to OSS, "
                        + "しかし、何らかの理由でエラー応答で拒否されました。");
                System.out.println("エラーメッセージ:" + oe.getErrorMessage());
                System.out.println("エラーコード:" + oe.getErrorCode());
                System.out.println("リクエストID:" + oe.getRequestId());
                System.out.println("ホストID:" + oe.getHostId());
            } catch (ClientException e) {
                System.out.println("Caught an ClientException, which means the client encountered "
                        + "a serious internal problem while trying to communicate with OSS, "
                        + 「ネットワークにアクセスできないなど」;
                System.out.println("エラーメッセージ:" + ce.getMessage());
            } 最後に{
                if (ossClient != null) {
                    ossClient.shutdown();
                }
            }
        }
    }
  2. 署名付きURLを使用して、ブラウザから画像にアクセスし、画像情報を照会します。