文件上传至阿里云

 
 
public static String uploadFile2OSS(InputStream instream, String fileName) throws IOException {
        String imageName = null;
        OSSClient ossClient = null;
        try {
            ClientConfiguration conf = new ClientConfiguration();
            // 请求超时时间设置
            conf.setConnectionTimeout(5000);
            // 请求失败重试次数
            conf.setMaxErrorRetry(3);

            // 创建上传Object的Metadata,该类为阿里云文件上传内部类,可在里面配置一些基本信息,具体参见源码
            ObjectMetadata objectMetadata = new ObjectMetadata();
            objectMetadata.setCacheControl("no-cache");
            objectMetadata.setHeader("Pragma", "no-cache");
            objectMetadata.setContentType(getcontentType(fileName.substring(fileName.lastIndexOf("."))));
            objectMetadata.setContentDisposition("inline;filename=" + fileName);
            // 上传文件
            ossClient = new OSSClient(ENDPOINT, ACCESS_KEY_ID, ACCESS_KEY_SECRET);//ENDPOINT:服务器地址,KEY_ID和KEY_SECERT为阿里云颁发的Access Id/Access Key,用于连接服务器
            PutObjectResult putResult = ossClient.putObject(BUCKET_NAME, fileName, instream, objectMetadata);//BUCKET_NAME为文件上传路径,instream为文件流,
            String ret = putResult.getETag();
            if (!"".equals(ret)) {
                imageName = fileName;
            }
        } finally {
            if (ossClient != null) {
                ossClient.shutdown();
            }
            try {
                if (instream != null) {
                    instream.close();
                }
            } catch (IOException e) {
                e.printStackTrace();
                return null;
            }
        }
        return imageName;
    }
 
  
 
 

ClientConfiguration客户端配置选项,例如代理设置,用户代理字符串,最大重试次数等。

OSSClient:阿里云文件上传类,

猜你喜欢

转载自www.cnblogs.com/sjbas/p/10271332.html