上传频道所有装修图片素材

接口描述

1、接口用于上传图片素材,同时获取图片地址
2、(type, timestamp, appId)参与sign签名,并和sign一起通过post表单传递,文件通过二进制流提交到服务器端。
2、接口支持https协议

接口URL

http://api.polyv.net/live/v3/common/upload-image

请求方式

POST

接口约束

1、接口同时支持HTTP 、HTTPS ,建议使用HTTPS 确保接口安全,接口调用有频率限制,详细请查看

请求参数描述

参数名必选类型说明

appId

true

String

账号appId【详见获取密钥

timestamp

true

Long

当前13位毫秒级时间戳,3分钟内有效

sign

true

String

签名,为32位大写的MD5值,生成签名的appSecret密钥作为通信数据安全的关键信息,严禁保存在客户端直接使用,所有API都必须通过客户自己服务器中转调用POLYV服务器获取响应数据【详见签名生成规则

file

true

File

图片文件,支持同时上传不超过6个

type

true

String

上传图片类型【详见Type参数描述

Type参数描述

类型值说明

coverImage

频道图标,建议140 x 140 大小的图标,支持jpg、jpeg、png格式,文件大小不超过 2M

splashImage

直播引导图,建议 750 x 1334 大小的图片,支持jpg、jpeg、png格式,大小不超过 2M

logoImage

播放器logo,建议不大于 140 x 50 大小的图片,支持jpg、jpeg、png格式,文件大小不超过 2M

adminAvatar

聊天室管理员头像,建议 140 x 140 大小的图标,文件大小不超过2M

assistantAvatar

助教头像,建议 140 x 140 大小的图标,文件大小不超过2M

authCodeImage

授权观看二维码图片, 最大不超过 200K

warmImage

暖场图片,建议1280 x 720,图片大小不超过 2M,支持 jpg、jpeg、png、gif 格式

adImage

广告栏图片,建议750 x 120,支持png、jpg等文件格式,最大不超过2 M

startAdImage

片头广告图片,建议 1280 x 720 大小的图片 ,文件大小不超过 4 M

stopAdImage

暂停广告图片,建议 1280 x 720 大小的图片 ,文件大小不超过 4 M

goodImage

打赏图标,建议 180 x 180 大小的图标,文件大小不超过 300 k

invitationImage

邀请卡图片,建议 750 x 1334 大小的图片,支持jpg、jpeg、png格式,大小不超过 4 M

menuImage

频道菜单图片,最大不能超过为 2M

示例

http://api.polyv.net/live/v3/common/upload-image

表单参数:

appId=frlr1zazn3&sign=43029B62D712F53C0383F0F16E7C0848&type=logoImage&timestamp=1621842926851

响应参数描述

参数名类型说明

code

Integer

响应状态码,200为成功返回,非200为失败【详见全局错误说明

status

String

响应状态文本信息

message

String

响应描述信息,当code为400或者500的时候,辅助描述错误原因

data

Array

请求成功时,返回值是图片url列表,请求失败时,返回值是空

Java请求示例

快速接入基础代码请下载相关依赖源码, 点击下载源代码 ,下载后加入到自己的源码工程中即可。测试用例中的HttpUtil.java 和 LiveSignUtil.java 都包含在下载文件中。

强烈建议您使用直播Java SDK完成API的功能对接,直播Java SDK 对API调用逻辑、异常处理、数据签名、HTTP请求线程池进行了统一封装和优化。

private static final Logger log = LoggerFactory.getLogger(WebSettingTest.class);
/**
 * 上传频道所有装修图片素材
 * @throws IOException
 */
@Test
public void testUploadImage() throws IOException, NoSuchAlgorithmException {
    //公共参数,填写自己的实际参数
    String appId=super.appId;
    String appSecret=super.appSecret;
    String userId = super.userId;
    String timestamp=String.valueOf(System.currentTimeMillis());
    //业务参数
    String url = "http://api.polyv.net/live/v3/common/upload-image";
    String type = "logoImage";
    List<File> fileList = new ArrayList<>();
    String path1 = getClass().getResource("/file/").getPath() + "dog.jpeg";
    String path2 = getClass().getResource("/file/").getPath() + "222.jpeg";
    File file = new File(path1);
    File file2 = new File(path2);
    fileList.add(file);
    fileList.add(file2);

    //http 调用逻辑
    Map<String,String> requestMap = new HashMap<>();
    requestMap.put("appId", appId);
    requestMap.put("timestamp",timestamp);
    Map<String, List<File>> fileListMap = new HashMap<>();
    fileListMap.put("file",fileList);
    requestMap.put("type",type);
    requestMap.put("sign",LiveSignUtil.getSign(requestMap, appSecret));
    String response = HttpUtil.postMultipleFile(url,requestMap,fileListMap,"utf-8");
    log.info("测试上传频道所有装修图片素材:{}",response);
    //do somethings

}

响应示例

系统全局错误说明详见全局错误说明

成功示例

{
    "code":200,
    "status":"success",
    "message":"",
    "data":[
        "//liveimages.videocc.net/uploaded/images/2021/03/fwni4qhpdz.jpeg",
        "//liveimages.videocc.net/uploaded/images/2021/03/fwni4qjq5y.jpeg"
    ]
}

异常示例

{
    "code": 400,
    "status": "error",
    "message": "invalid signature.",
    "data": ""
}

Last updated