java通过URL获取网络文件并上传到阿里云OSS文件服务器

首先,先从网络上读取到文件

 /**
     * 从网络Url中读取文件
     * @param urlStr 文件URL地址
     * @throws IOException
     */
 public  String downLoadFromUrl(String urlStr) throws IOException{
   
 	//把地址转换成URL对象
	URL url = new URL(urlStr);
	//创建http链接
	HttpURLConnection conn = (HttpURLConnection)url.openConnection();
	//设置超时间为3秒
    conn.setConnectTimeout(3*1000);
    //防止屏蔽程序抓取而返回403错误
     conn.setRequestProperty("User-Agent", "Mozilla/4.0 (compatible; MSIE 5.0; Windows NT; DigExt)");
	 //得到输入流
     InputStream inputStream = conn.getInputStream();
     //截取链接中的文件名
	String fileName= urlStr.substring(urlStr.lastIndexOf("/")+1);
	//请求OSS方法
	URL resUrl = OSSUploadImage(inputStream,fileName,"imagesTest/");
	
	return resUrl.toString();
}

然后,设置OSS参数。

 /**
     * 存入OSS服务器
     * @param inputStream 文件流
     * @param fileNme 文件名
     * @param folder 文件存储文件夹
     * @return OSS文件URL
     */
private  URL OSSUploadImage(InputStream inputStream,String fileNme,String folder){
   
 if(inputStream != null){
   
            //初始化OSSClient
            OSSClient ossClient=getOSSClient();
            //判断文件夹是否存在,不存在则创建
            createFolder(ossClient, "阿里云API的bucket名称",folder);
            //请求OSS服务器
            String md5key = uploadObject2OSSImage(ossClient, inputStream,fileNme, "阿里云API的bucket名称", folder);
           // 传后的文件MD5数字唯一签名:40F4131427068E08451D37F02021473A
            System.out.println("文件名--------------->"

你可能感兴趣的:(java,阿里云)