阿里雲 oss (三)獲取圖片信息


有兩個方案

1 ,通過 exif 訪問圖片

2,操作元數據(關於資源的信息較少)

 

一,通過 exif 訪問圖片

oss 文檔:https://help.aliyun.com/document_detail/44975.htm?spm=a2c4g.11186623.0.0.6349864ePFmnTX#concept-nbj-1fv-vdb

主要是通過?x-oss-process=image/info

來獲取圖片信息,

還有很多其他參數可以選擇。

示例
獲取不包含EXIF信息的原圖示例
http://image-demo.oss-cn-hangzhou.aliyuncs.com/example.jpg?x-oss-process=image/info

{
  "FileSize": {"value": "21839"},
  "Format": {"value": "jpg"},
  "ImageHeight": {"value": "267"},
  "ImageWidth": {"value": "400"}
}

 

獲取包含EXIF信息的原圖示例

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

{
  "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 文檔:https://help.aliyun.com/document_detail/84840.html

以下代碼用於獲取文件元信息:

// Endpoint以杭州為例,其它Region請按實際情況填寫。
String endpoint = "http://oss-cn-hangzhou.aliyuncs.com";
// 阿里雲主賬號AccessKey擁有所有API的訪問權限,風險很高。強烈建議您創建並使用RAM賬號進行API訪問或日常運維,請登錄RAM控制台創建RAM賬號。
String accessKeyId = "<yourAccessKeyId>";
String accessKeySecret = "<yourAccessKeySecret>";
 
// 創建OSSClient實例。
OSS ossClient = new OSSClientBuilder().build(endpoint, accessKeyId, accessKeySecret);
 
// 獲取文件的部分元信息。
SimplifiedObjectMeta objectMeta = ossClient.getSimplifiedObjectMeta("<yourBucketName>", "<yourObjectName>");
System.out.println(objectMeta.getSize());
System.out.println(objectMeta.getETag());
System.out.println(objectMeta.getLastModified());
 
// 獲取文件的全部元信息。
ObjectMetadata metadata = ossClient.getObjectMetadata("<yourBucketName>", "<yourObjectName>");
System.out.println(metadata.getContentType());
System.out.println(metadata.getLastModified());
System.out.println(metadata.getExpirationTime());
 
// 關閉OSSClient。
ossClient.shutdown();

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM