开发者社区 问答 正文

云相册的API开发接口CreatePhoto怎么使用



描述


提交事务以完成上传照片。

  1. 请在使用该接口前确认已完全理解了上传流程中的内容。
  2. 调用该接口前需要开启事务,请参考CreateTransaction接口。


请求参数

参数名类型是否必须说明
ActionStringCreatePhoto
FileIdString开启上传事务时获取到的文件ID
PhotoTitleString照片的名称
SessionIdString开启上传事务时获取到的SessionId
StoreNameStringPhotoStore的名称
UploadTypeString自定义上传类型,比如用dailybackup表示自动备份,manual表示手动上传
RemarkString备注,支持长度为200的中英文字符,html标签将被转义。比如,如果备注中有<,在获取照片信息时<将被转义为<。
LibraryIdString照片库标识。采用AK认证时必选,采用STS认证时可选。了解不同认证方式的区别。


请求示例https://cloudphoto.cn-shanghai.aliyuncs.com/?Action=CreatePhoto
&FileId=ZUBaS964T3OYtqaal9MaZwAAAApwZDIE
&PhotoTitle=demo-1.jpg
&SessionId=hLB2ktiDiXojjjINEsQNCwACowAAAAFdRAPCZQAAAApwZAYD
&StoreName=cloudphoto-demo
&UploadType=manual
&LibraryId=alice-001
&<公共请求参数>





返回参数

参数名类型说明
RequestIdString唯一标识本次请求的ID
CodeString响应状态码,Success表示成功的响应
MessageString响应状态详细描述
ActionStringCreatePhoto
PhotoPhotoPhoto对象


Photo

参数名类型说明
CtimeString创建的时间戳,单位:毫秒
FileIdString照片对应到存储在OSS上的文件名
HeightInteger照片的高度
IdLong记录的唯一标识
Md5String文件的Md5值。如果文件是以OSS分块上传方式上传的话,文件MD5为异步计算,在计算完成以前,MD5值为空。
MtimeString最后修改的时间戳,单位:毫秒
StateString文件的状态
TitleString照片的名称
WidthInteger照片的宽度
RemarkString备注,200个中英文字符
TakenAtLong照片的拍摄时间戳、单位:毫秒


返回示例


JSON格式 {
    "Action":"CreatePhoto",
    "Message":"success",
    "RequestId":"A793DE62-050F-4D05-94A7-117DD4F97772",
    "Code":"Success",
    "Photo":{
        "Md5":"6b680a5ec98537d18c87e9bb40fc0683",
        "Mtime":1500085463134,
        "State":"active",
        "Height":1200,
        "Id":822879673959591936,
        "Ctime":1500085463134,
        "Width":800,
        "Title":"demo-1.jpg",
        "FileId":"ZUBaS964T3OYtqaal9MaZwAAAApwZDIE",
        "Remark":"",
        "TakenAt":1500085463134
    }
}


XML格式 <?xml version="1.0" encoding="UTF-8"?>
<CreatePhotoResponse>
  <Action>CreatePhoto</Action>
  <Message>success</Message>
  <RequestId>E08384DD-8BD1-45EB-85CE-6B0D1F4B5D4E</RequestId>
  <Photo>
    <Mtime>1499946613428</Mtime>
    <Md5>6b680a5ec98537d18c87e9bb40fc0683</Md5>
    <State>active</State>
    <Height>1200</Height>
    <Ctime>1499946613428</Ctime>
    <Id>822297296078114816</Id>
    <Width>800</Width>
    <FileId>MkM1N9sjSLe_LWWyxcA80wAAAApwZDIE</FileId>
    <Title>demo-1.jpg</Title>
    <Remark><Remark/>
    <TakenAt>1499946613428</TakenAt>
  </Photo>
  <Code>Success</Code>
</CreatePhotoResponse>

展开
收起
云栖大讲堂 2017-10-27 10:05:29 1806 分享 版权
阿里云 AI 助理回答

您提到的接口调用是关于阿里云Cloud Photo(图库存储服务)中完成上传照片事务的操作。下面是对请求参数和流程的一个简要说明,帮助您更好地理解和使用这个接口。

请求目的

此接口(CreatePhoto)用于在成功上传图片文件到阿里云Cloud Photo后,提交一个事务来正式完成照片的创建与存储过程。在此之前,您需要通过CreateTransaction接口开启一个事务,并获取到一些必要的参数,如FileIdSessionId等。

请求参数说明

  • Action: 必填参数,固定值为CreatePhoto,表示执行创建照片的操作。

  • FileId: 是,由CreateTransaction接口调用成功时返回的文件ID,用于标识已上传的文件。

  • PhotoTitle: 是,指上传照片的名称,便于后续管理和检索。

  • SessionId: 是,同样来自CreateTransaction接口的响应,用于跟踪整个上传事务的会话状态。

  • StoreName: 是,指定照片将存储在哪个PhotoStore中,需预先在Cloud Photo服务中配置。

  • UploadType: 是,自定义上传类型标签,例如dailybackup表示自动备份,manual表示手动上传,根据实际需求设定。

  • Remark: 否,可选备注信息,支持长度200字符的中英文,HTML标签会被转义处理。

  • LibraryId: 否,照片库标识。如果您使用AccessKey(AK)认证方式,则此参数是必须的;如果采用STS(Security Token Service)临时授权认证,则可选。这涉及到阿里云权限管理的不同模式。

请求示例

https://cloudphoto.cn-shanghai.aliyuncs.com/?Action=CreatePhoto
&FileId=your_file_id_here
&PhotoTitle=example_photo_title
&SessionId=your_session_id_here
&StoreName=your_store_name_here
&UploadType=dailybackup
&Remark=This%20is%20a%20test%20remark.
&LibraryId=your_library_id_if_needed

请确保替换上述URL中的your_file_id_hereyour_session_id_hereyour_store_name_here等占位符为实际的值。同时,根据您的认证方式决定是否添加LibraryId参数。

注意事项

  • 在调用此接口前,请确保已经按照Cloud Photo服务的要求正确上传了图片文件,并获得了相应的FileIdSessionId
  • 确认您的应用程序具有调用该API所需的权限,包括设置正确的访问密钥或STS Token。
  • 根据实际业务需求选择合适的UploadType和填写Remark,以便于后期管理和搜索。
  • 如果使用AK认证,请不要忘记提供LibraryId

希望以上信息对您有所帮助!如果有更多关于阿里云产品的问题,欢迎继续提问。

有帮助
无帮助
AI 助理回答生成答案可能存在不准确,仅供参考
0 条回答
写回答
取消 提交回答