欢迎您来到腾讯云!积分商城

腾讯云腾讯云论坛

 找回密码
 立即注册
忘了密码?

扫一扫,访问微社区

快捷导航
搜索
查看: 2984|回复: 4

[经验分享] Java实现远程图片存储到COS

[复制链接]

15

主题

0

好友

1920

积分

版主

Rank: 7Rank: 7Rank: 7Rank: 7

云币
3940
威望
1920
发表于 2016-11-9 11:25:38 |显示全部楼层 |未分类
Java代码实现
远程文件获取到本地 上传到COS

  1. import java.io.File;
  2. import java.io.FileNotFoundException;
  3. import java.io.FileOutputStream;
  4. import java.io.IOException;
  5. import java.io.InputStream;
  6. import java.io.OutputStream;
  7. import java.net.URL;
  8. import java.net.URLConnection;

  9. import com.qcloud.cos.COSClient;
  10. import com.qcloud.cos.request.UploadFileRequest;

  11. public class App
  12. {
  13.     public static void main( String[] args )
  14.     {
  15.             // 创建 COSClient实例
  16.             String bucketName = "<bucketName>";
  17.             int appId = <appId>;
  18.                 String secretId = "<secretId>";
  19.                 String secretKey = "<secretKey>";
  20.                 COSClient cosClient = new COSClient(appId, secretId, secretKey);
  21.                
  22.                 // 要访问的URL
  23.                 String path = "https://www.baidu.com/img/bd_logo1.png";
  24.                 // 获取文件后缀
  25.                 String suffix = path.substring(path.lastIndexOf('.')+1);
  26.                 long currentTimeMillis = System.currentTimeMillis();
  27.                 // 已时间戳的形式命名, 保证文件不重复
  28.                 String localPath = "d://"+currentTimeMillis+"."+suffix;
  29.                 // 存储到COS 的路径
  30.                 String cosPath = "/haha.png";
  31.                 // 将文件存储到本地
  32.                 try {
  33.                         URL url = new URL(path);
  34.                         URLConnection urlConnection = url.openConnection();
  35.                         InputStream inputStream = urlConnection.getInputStream();
  36.                         File outFile = new File(localPath);
  37.                         OutputStream outputStream = new FileOutputStream(outFile);
  38.                         byte[] buf = new byte[1024];
  39.                         while (true) {
  40.                 int read = 0;
  41.                 if (inputStream != null) {
  42.                     read = inputStream.read(buf);
  43.                 }
  44.                 if (read == -1) {
  45.                     break;
  46.                 }
  47.                 outputStream.write(buf, 0, read);
  48.             }
  49.                         outputStream.flush();
  50.                         outputStream.close();
  51.                         inputStream.close();
  52.                         // 文件上传到腾讯COS
  53.                         UploadFileRequest uploadFileRequest = new UploadFileRequest(bucketName, cosPath, localPath);
  54.                         cosClient.uploadFile(uploadFileRequest);
  55.                         // 判断本地文件是否存在, 如果存在则删除
  56.                         if(outFile.exists()){
  57.                                 outFile.delete();
  58.                         }
  59.                 } catch (FileNotFoundException e) {
  60.                         e.printStackTrace();
  61.                 } catch (IOException e) {
  62.                         e.printStackTrace();
  63.                 }
  64.                 // 关闭COS连接
  65.                 cosClient.shutdown();
  66.     }
  67. }
复制代码
详细信息:Java实现远程图片存储到COS


13

主题

2

好友

3835

积分

版主

Rank: 7Rank: 7Rank: 7Rank: 7

云币
2483
威望
3835
发表于 2016-11-9 14:47:03 |显示全部楼层
感谢楼主的分享
回复

使用道具 举报

0

主题

0

好友

10

积分

小白[LV1]

Rank: 1

云币
10
威望
10
发表于 2017-3-29 16:27:53 |显示全部楼层
你的jar包是在哪里下载的???
回复

使用道具 举报

15

主题

0

好友

1920

积分

版主

Rank: 7Rank: 7Rank: 7Rank: 7

云币
3940
威望
1920
发表于 2017-4-15 02:00:49 |显示全部楼层
小小俏皮 发表于 2017-3-29 16:27
你的jar包是在哪里下载的???

使用的是maven包管理工具
回复

使用道具 举报

1

主题

0

好友

90

积分

小白[LV1]

Rank: 1

云币
270
威望
90
发表于 2018-2-25 20:41:20 |显示全部楼层
楼主可以发一下maven的依赖嘛?
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册
您需要登录后才可以发帖 QQ登录

联系我们|腾讯云平台|积分商城|腾讯云官方论坛    

GMT+8, 2018-7-19 10:15 , Processed in 1.134078 second(s), 29 queries .

Powered by Discuz! X2.5

© 2001-2012 Comsenz Inc.

回顶部