获取文件上传地址
- 接口:common/files/v2/uploadUrl
- Method:POST
- 数据格式:JSON
- 限流信息:每小时1000次
- 多语言环境:在接口请求头中添加Key为locale,Value值为语言环境,目前支持的语言有zh_CN(中文)、en_US(英文)、ja_JP(日文)、zh_TW( 繁体),请选取其中一种
- 接口说明:data中的json数据key为传入的文件名,value为对应的上传地址。具体参见示例。
- 其他补充信息:本接口为批量接口,接口返回成功不代表全部处理成功。具体参见示例
参数:
请求参数
字段名称 | 字段类型 | 字段描述 | 是否必填 | 长度限制 |
---|---|---|---|---|
data | String[] | 文件名数组 | TRUE | 数组长度不超过100 |
返回参数
字段名称 | 字段类型 | 字段描述 |
---|---|---|
resCode | Integer | 响应状态码(见附录) |
resMsg | String | 返回信息描述 |
data | Array | 处理成功的结果数组 |
data[].fileName | String | 文件名 |
data[].fileURL | String | 文件上传地址,有效期2小时 |
示例:
请求数据
{
"data": [
"45460fcb-7045-48eb-be34-209dfad5f2ca.txt",
"9b175e6b-6918-4e52-8126-b7eed1483c7d.png"
]
}
返回数据
全部处理成功返回
{
"resCode": 200000,
"resMsg": "success",
"data": [
{
"fileName": "45460fcb-7045-48eb-be34-209dfad5f2ca.txt",
"fileURL": "https://xxxx.com.cn/c8493cf0-d099-4c36-9d7d-6b66766b192f.txt?X-Amz-Algorithm=AWSxxxx"
},
{
"fileName": "9b175e6b-6918-4e52-8126-b7eed1483c7d.png",
"fileURL": "https://xxxx.com.cn/9b175e6b-d099-4c36-9d7d-6b66766b192f.png?X-Amz-Algorithm=AWSxxxx"
}
]
}
部分处理成功返回
{
"resCode": 200000,
"resMsg": "success",
"data": [
{
"fileName": "9b175e6b-6918-4e52-8126-b7eed1483c7d.png",
"fileURL": "https://xxxx.com.cn/9b175e6b-d099-4c36-9d7d-6b66766b192f.png?X-Amz-Algorithm=AWSxxxx"
}
]
}
全部处理失败返回
{
"resCode": 200000,
"resMsg": "success",
"data": []
}
获取 attachment_url
fileURL: https://xxxx.com.cn/xxx/c8493cf0-d099-4c36-9d7d-6b66766b192f.txt?X-Amz-Algorithm=AWSxxxx
对应的attachment_url: xxx/c8493cf0-d099-4c36-9d7d-6b66766b192f.txt
使用文件上传地址上传文件
也可以参考各对象存储的使用签名URL临时授权上传文件的相关示例
import org.apache.http.HttpEntity;
import org.apache.http.client.methods.CloseableHttpResponse;
import org.apache.http.client.methods.HttpPut;
import org.apache.http.entity.FileEntity;
import org.apache.http.impl.client.CloseableHttpClient;
import org.apache.http.impl.client.HttpClients;
import java.io.File;
import java.io.IOException;
public class Test {
public static void main(String[] args) throws IOException {
CloseableHttpClient httpClient = null;
CloseableHttpResponse response = null;
String pathName = "xxxx/xxxx/test.pdf";
URL signedUrl = new URL("https://xxxxxx.amazonaws.com.cn/6307ced9-c793-450f-a2a5-5c4f615619af.pdf?xxxxx");
try {
// 获取文件 MIME 类型
String mimeType = Files.probeContentType(Paths.get(pathName));
if (mimeType == null) {
mimeType = "application/octet-stream"; // 设置默认 MIME 类型
}
HttpPut put = new HttpPut(signedUrl.toString());
HttpEntity entity = new FileEntity(new File(pathName));
put.setEntity(entity);
// 设置 Content-Type
put.setHeader("Content-Type", mimeType);
httpClient = HttpClients.createDefault();
response = httpClient.execute(put);
System.out.println("返回上传状态码:" + response.getStatusLine().getStatusCode());
if (response.getStatusLine().getStatusCode() == 200) {
System.out.println("上传成功");
}
System.out.println(response.toString());
} catch (Exception e) {
e.printStackTrace();
} finally {
if (response != null) {
response.close();
}
if (httpClient != null) {
httpClient.close();
}
}
}
}