需要根据,业务数据,将存在第三方平台的数据,下载至本地,或转存阿里云OSS中。文章来源地址https://www.toymoban.com/news/detail-574712.html
@ApiOperation(value = "下载录音", notes = "")
@GetMapping("/download")
public CommonResult<?> download(String callId) {
final List<DpxdataTelCall> list = telCallService.lambdaQuery()
.isNotNull(DpxdataTelCall::getCallId)
.isNull(DpxdataTelCall::getCallFile)
.eq(StringUtils.isNotBlank(callId), DpxdataTelCall::getCallId, callId)
.list();
URL url = null;
HttpURLConnection conn = null;
InputStream inputStream = null;
BufferedReader br = null;
String urlStr = "";
StringBuffer sb = null;
List<DpxdataTelCall> updateList = new ArrayList<>();
for (DpxdataTelCall item : list) {
try {
urlStr = "http://m.icsoc.net/v2/wintelapi/record/playrecord?vcc_code=" + "code" + "&call_id=" + item.getCallId();
url = new URL(urlStr);
conn = (HttpURLConnection) url.openConnection();
// 设置超时间为10秒
conn.setConnectTimeout(10 * 1000);
//获取输入流
inputStream = conn.getInputStream();
sb = new StringBuffer();
br = new BufferedReader(new InputStreamReader(inputStream));
String line = null;
while ((line = br.readLine()) != null) {
line = new String(line.getBytes(), "utf-8");
sb.append(line);
}
if (sb.toString().indexOf("code") == -1) {
urlStr = "http://m.icsoc.net/v2/wintelapi/record/playrecord?vcc_code=" + "code" + "&call_id=" + item.getCallId();
url = new URL(urlStr);
conn = (HttpURLConnection) url.openConnection();
// 设置超时间为10秒
conn.setConnectTimeout(10 * 1000);
//获取输入流
inputStream = conn.getInputStream();
final String telFile = OssBootUtil.upload(inputStream, "upload/tel/" + item.getCallId() + "_" + System.currentTimeMillis() + ".mp3");
item.setCallFile(telFile);
updateList.add(item);
log.info("下载录音文件 -> {} ,{}", item.getPersonId(), item.getCallId());
}
} catch (MalformedURLException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
} finally {
if (br != null) {
try {
br.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
}
if (inputStream != null) {
try {
inputStream.close();
} catch (IOException e) {
e.printStackTrace();
}
}
if (CollectionUtil.isNotEmpty(updateList)) {
telCallService.updateBatchById(updateList);
}
return CommonResult.success("下载录音文件数量" + updateList.size());
}
文章来源:https://www.toymoban.com/news/detail-574712.html
到了这里,关于JAVA Http接口获取文件下载流,将下载的文件上传阿里云的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!