// 从阿里云下载视频,并且同步上传到行内ecs,采用边下载边上传的方式,避免下载整个文件占用pod磁盘
public Integer downLoadVideoFromAliyunAndUploadToEcs(String downloadURL, String uploadUrl) throws IOException {
// 下载链接
URL url = new URL(downloadURL);
HttpURLConnection downLoadUrlConnection = (HttpURLConnection)url.openConnection();
downLoadUrlConnection.setUseCaches(false); // 设置超时时间
downLoadUrlConnection.setDoInput(true);
downLoadUrlConnection.setConnectTimeout(99999999);
// 上传链接
URL url1 = new URL(uploadUrl);
HttpURLConnection upLoadUrlConnection = (HttpURLConnection)url1.openConnection();
upLoadUrlConnection.setDoOutput(true);
upLoadUrlConnection.setRequestMethod("PUT");
upLoadUrlConnection.setRequestProperty("Content-Type", "video/mp4");
upLoadUrlConnection.setConnectTimeout(99999999);
upLoadUrlConnection.setChunkedStreamingMode(1024 * 2024); // 分段上传,避免内存溢出
try (InputStream inputStream = downLoadUrlConnection.getInputStream();
OutputStream outputStream = upLoadUrlConnection.getOutputStream()) {
byte[] bytes = new byte[1024 * 1024];
int len = -1;
while ((len = inputStream.read(bytes)) != -1) {
outputStream.write(bytes, 0, len);
outputStream.flush();
}
}
// 获取服务器的响应
int responseCode = upLoadUrlConnection.getResponseCode();
return responseCode;
}
远程服务器下载文件并上传到云存储代码
最新推荐文章于 2024-10-01 18:51:18 发布