图片资料上传

在应用开发过程中,开发者会涉及到在开放产品中需要使用图片资源的场景,对于一般用途的图片(一般用途图片指不涉及如营业执照等含商户敏感信息的图片),开放平台提供了对应接口能力,使开发者可以通过上传图片资源获取对应的资源使用ID和链接。

第一步:创建应用

要在您的应用中使用支付宝开放产品的接口能力,您需要先去蚂蚁金服开放平台(open.alipay.com),在管理中心中创建登记您的应用,并提交审核,审核通过后会为您生成应用唯一标识(APPID),并且可以申请开通开放产品使用权限,通过APPID您的应用才能调用开放产品的接口能力。需要详细了解开放平台创建应用步骤请参考《开放平台应用创建指南》。

第二步:配置密钥

开发者调用接口前需要先生成RSA密钥,RSA密钥包含应用私钥(APP_PRIVATE_KEY)、应用公钥(APP_PUBLIC_KEY)。生成密钥后在开放平台管理中心进行密钥配置,配置完成后可以获取支付宝公钥(ALIPAY_PUBLIC_KEY)。详情请参考《配置应用环境

第三步:搭建和配置开发环境

1. 下载服务端SDK

为了帮助开发者调用开放接口,我们提供了开放平台服务端SDK,包含JAVA、PHP和.NET三个语言版本,封装了签名&验签、HTTP接口请求等基础功能。请先下载对应语言版本的SDK并引入您的开发工程。

各语言版本服务端SDK详细使用说明,请参考《服务端SDK说明

2. 接口调用配置

在SDK调用前需要进行初始化,以Java代码为示例如下:

AlipayClient alipayClient = new DefaultAlipayClient("https://openapi.alipay.com/gateway.do",APP_ID,APP_PRIVATE_KEY,"json","GBK",ALIPAY_PUBLIC_KEY);

关键参数说明:

 - https://openapi.alipay.com/gateway.do 线上支付宝开放平台网关(固定)

 - APP_ID 即创建应用后生成,获取见上面“第一步:创建应用”

 - APP_PRIVATE_KEY 获取详见上面“第二步:密钥配置”

 - ALIPAY_PUBLIC_KEY 获取详见上面“第二步:密钥配置”

第四步:调用接口

一般用途图片资料上传产品包含以下接口:

接口英文名 接口中文名 API文档

alipay.offline.material.image.upload

图片上传接口

用于上传图片资源,获取图片资源ID和图片访问连接

接口调用示例大致分为3步:

  1. 拼装业务参数
  2. 将参数发送给开放平台服务端
  3. 获取开放平台服务端返回值,并进行具体业务处理
TIPS:ISV/开发者可以通过“第三方应用授权”得到商户授权令牌(app_auth_token)作为请求参数传入,实现代商户发起请求的能力;具体方法请参考《第三方应用授权》。

接口调用实例

AlipayClient alipayClient = new DefaultAlipayClient("https://openapi.alipay.com/gateway.do", APP_ID, APP_PRIVATE_KEY, "json", CHARSET, ALIPAY_PUBLIC_KEY, "RSA2");
AlipayOfflineMaterialImageUploadRequest alipayRequest = new AlipayOfflineMaterialImageUploadRequest();
alipayRequest.setImageType("jpg"); //图片类型,当前支持bmp,png,jpeg,jpg,gif 5个类型
alipayRequest.setImageName("图片名称");
FileItem ImageContent = new FileItem("c:/test.jpg"); //图片文件路径,Windows请填写绝对路径,不支持相对路径;Linux支持相对路径
alipayRequest.setImageContent(ImageContent);

AlipayOfflineMaterialImageUploadResponse alipayResponse = alipayClient.execute(alipayRequest);
//alipayResponse.getImageId() 获取图片资源ID
//alipayResponse.getImageUrl() 获取图片访问链接

如果创建成功 alipayResponse.getCode() 可以获取结果码10000,结果码和错误码请参考本文结果码说明章节。通过alipayResponse.getImageId() 获取图片资源ID,图片资源ID在开放平台部分接口中会用到,开发者也可以通过alipayResponse.getImageUrl() 获取图片访问链接来访问图片。

接口调用结果码说明

      获取接口处理结果代码示例

System.out.println(alipayResponse.getCode()); // 获取接口结果码
System.out.println(alipayResponse.getSubCode()); // 当接口调用失败后,获取子错误码
System.out.println(alipayResponse.getMsg()); // 获取子错误描述
System.out.println(alipayResponse.getBody()); // 获取完整的返回报文
同步返回结果码 含义 说明

10000

业务处理成功

 

40001~40006

业务处理失败

具体失败原因请参考公共错误码。其它请参考API文档。

20000

业务出现未知错误或者系统异常

业务出现未知错误或者系统异常

关于沙箱

如何接入沙箱

      沙箱是开放平台提供给开发者用户调试接口的环境,具体操作步骤见沙箱接入指南

图片资料上传沙箱接入注意点

      1、图片资料上传支持沙箱接入;在沙箱调通接口后,必须在线上进行测试与验收,所有返回码及业务逻辑以线上为准;

API列表

接口英文名 接口中文名 API文档

alipay.offline.material.image.upload

图片上传接口

查看文档

 

本接口及文档资料由口碑提供。您使用本接口,需要遵守开放平台相关协议及口碑要求。