开发者社区> 问答> 正文

个人实现OSS上传图片。网络错误可重试10次


        /**
         * 上传
         * @param accessId 阿里云提供的ID
         * @param accessKey  阿里云提供的key
         * @param bucketName  阿里云创建的bucketName
         * @param ossFilePath  oss文件路径   ===可以带文件夹  如: hao123/a.jpg
         * @param filePath  本地文件路径
         * @param contentType 内容类型
         */
        public static void uploadOssFile(String accessId,String accessKey,String bucketName,String ossFilePath,String filePath,String contentType){
             OSSClient client = new OSSClient(accessId, accessKey);
             ensureBucket(client, bucketName);
             setBucketPublicReadable(client, bucketName);
             System.out.println("=====================================正在上传========================================");
             try {
                uploadFile(client, bucketName, ossFilePath, filePath,contentType);
                 System.out.println("=====================================上传完毕========================================");
            } catch (Exception e) {
                // TODO Auto-generated catch block
                e.printStackTrace();
                //=====================上传出错 设置重试10次  每10秒一次=======================================
                //=============================================================
                System.out.println("=====================================上传出错,开始重试10次========================================");
                /**是否上传完成*/
                for(int i=0;i<10;i++){
                    try {
                        Thread.sleep(10*1000);
                        System.out.println("=====================================重试:"+i+"次========================================");
                        uploadFile(client, bucketName, ossFilePath, filePath,contentType);
                        return;
                    }catch (Exception e2) {
                        // TODO: handle exception
                        e2.printStackTrace();
                        System.out.println("=====================================重试:"+i+"次,出错========================================");
                        continue;
                    }
                }
                //==============================邮件通知======================================
                logger.error("上传文件:"+ossFilePath+",文件路径为:"+filePath+",重试10后依然失败.");
            }
        }

展开
收起
heyewei 2014-07-09 16:25:04 7958 0
2 条回答
写回答
取消 提交回答
  • 睡眠10秒可以缩短一些
    2014-07-10 23:53:19
    赞同 展开评论 打赏
  • 欢迎进行技术分享,感谢你的支持!
    2014-07-09 19:48:25
    赞同 展开评论 打赏
问答排行榜
最热
最新

相关电子书

更多
Session:更加安全、可靠的数据中心网络产品更新 立即下载
Session:极简易用的全球化网络产品更新 立即下载
Session:弹性、高可用、可观测的应用交付网络产品更新 立即下载