保利威文档中心

幫助中心

上傳頻道所有裝修圖片素材

更新時間:2022-09-02 18:08:07

介面描述

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等檔案格式,最大不超過2M
startAdImage 片頭廣告圖片,建議1280 x 720大小的圖片,檔案大小不超過4M
stopAdImage 暫停廣告圖片,建議1280 x 720大小的圖片,檔案大小不超過4M
goodImage 打賞圖示,建議180 x 180大小的圖示,檔案大小不超過300k
invitationImage 邀請卡圖片,建議750 x 1334大小的圖片,支援jpg、jpeg、png格式,大小不超過4M
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": ""
}
联系客服,在线咨询