文档
测试

form表单上传素材

POST
https://api.rgshb.hetuntech.cn/open/media/upload

接口描述

部分业务需要使用图片视频上传 API来上报信息,从而获得必传参数的值:hash。

接口说明

#### 请求主体类型:multipart/form-data #### 最大限制:100M

公共参数

|参数名|类型|是否必选|最大长度|说明|示例值| |-|-|-|-|-|-| |appId|String|是|18|应用ID|214539439500689408| |nonceStr|String|是|32|随机字符|K2BKzNCZwSwk58JEnb3wGwbhAiiFMJCB| |timeStamp|Number|是|10|时间戳|1628047398| |sign|String|是||根据MD5算法生成,详见开发流程签名生成示例|| |bizContent|String|是||请求参数的集合,最大长度不限,一般是json字符除公共参数外所有请求参数都必须放在这个参数中传递,空值请传 {}||

请求参数

参数名
类型
描述
必填
media
FormData
form-data 中媒体文件标识,有filename、filelength、content-type等信息
必填
data
Object
公共参数
必填

响应参数

参数名
类型
描述
必填
code
Number
错误码
必填
message
String
错误信息
必填
requestId
String
请求ID
必填
hash
String
用于图片视频上传
必填

说明 / 示例

#### 请求示例 ##### node/typescript ```typescript import FormData from "form-data"; import axios from "axios"; import moment from "moment"; /** * 上传图片 * @param hash */ async uploadMedia() { try { const response = await axios({ method: "get", url: "imageurl", responseType: "arraybuffer", }); const { data } = response; const bizContent = {}; const params: any = { appId: "appId", bizContent: JSON.stringify(bizContent), nonceStr: "nonceStr", timeStamp: moment().unix(), sign: "sign", }; const formData = new FormData({ writable: true }); formData.append("media", data, { filename: "filename", }); formData.append("data", JSON.stringify(params), { contentType: "application/json", }); const headers = await this.getHeaders(formData); const res = await axios({ method: "POST", url: `http://localhost:4003/open/media/upload`, data: formData, headers, }); console.log("res", res.data); } catch (error) { console.log("uploadMedia error", error.message); } } private async getHeaders(form: FormData) { return new Promise((resolve, reject) => { form.getLength((err, length) => { if (err) reject(err); const headers = Object.assign({ "Content-Length": length }, form.getHeaders()); resolve(headers); }); }); } ``` #### 返回示例 ```json { "code": 0, "message": "success", "requestId": "c5f710d4-87bd-43fd-a523-4f4d09265504", "imageHash": "FrohbriemRy6HbkjznYDxLKsh0KZ.jpg" } ```

code合法值

|值|说明| |-|-| |10010|未接收到file| |10011|未接收到data|