前段时间正好做个项目,就是用的oss,普通上传和断点续传,代码贴出来,看是不是你们需要的

public class OssManage {
    public static  String ACCESS_KEY_ID  = null;
    public static  String  ACCESS_KEY_SECRET = null;
    public static  String  ENDPOINT = null;
    public static  String  BUCKETNAME = null;
    public static  String  BUCKETNAME_VIDEO = null;
    public static String OUT_OF_DATE = null;
    private  OSSClient client  = null;
    private  ObjectMetadata meta = null;
    static{
        try {
            ACCESS_KEY_ID  = SysConst.getProperty("OSS_ACCESS_KEY_ID");
            ACCESS_KEY_SECRET = SysConst.getProperty("OSS_ACCESS_KEY_SECRET");
            ENDPOINT = SysConst.getProperty("OSS_ENDPOINT");
             BUCKETNAME = SysConst.getProperty("OSS_BUCKETNAME");
             BUCKETNAME_VIDEO = SysConst.getProperty("OSS_BUCKETNAME_VIDEO");
             OUT_OF_DATE = SysConst.getProperty("OSS_OUT_OF_DATE");
        } catch (java.lang.Exception e) {
            e.printStackTrace();
        }
    }
     
    public void init(){
         // 初始化一个OSSClient
            client = new OSSClient(ENDPOINT,ACCESS_KEY_ID, ACCESS_KEY_SECRET);
            meta = new ObjectMetadata();
    }
     
    /**
     * @Description: 上传文件到OSS文件服务器
     * @param content  文件流
     * @param key    上传为OSS文件服务器的唯一标识
     * @param mimeType  文档类型
     * @throws Exception 
     * @ReturnType:String   OSSObject的ETag值。
    */
    public String  uploadFile(InputStream content,String key,String mimeType) throws Exception{
        //进行初始化
        init();
            // 必须设置ContentLength
            meta.setContentType(mimeType);
            // 上传Object.
            LogUtil.printConsoleLog("*****************上传图片到oss服务器开始*****************" + key);
            PutObjectResult result = client.putObject(BUCKETNAME, key, content, meta);
            LogUtil.printConsoleLog("*****************上传图片到oss服务器结束*****************" + key);
            return result.getETag();
    }
     
 
 
    /**
     * @Description: 根据key获取oss服务器上的图片地址
     * @param key
     * @return 
     * @ReturnType:String
    */
    public String getImgURl(String key){
        init();
        Date expires = new Date (new Date().getTime() + Integer.parseInt(OUT_OF_DATE)); // 30 minute to expire
        GeneratePresignedUrlRequest generatePresignedUrlRequest ;
        if(key.startsWith("msplatform")){
            generatePresignedUrlRequest =new GeneratePresignedUrlRequest(BUCKETNAME, key);
        }else {
            generatePresignedUrlRequest =new GeneratePresignedUrlRequest(BUCKETNAME_VIDEO, key);
        }
        generatePresignedUrlRequest.setExpiration(expires);
        URL url = client.generatePresignedUrl(generatePresignedUrlRequest);
        return url.toString();
    }
    /**
     * @Description:根据key获取oss服务器上的ipa文件地址
     * @param key
     * @return 
     * @ReturnType:String
     */
    public String getIpaURl(String key){
        init();
        Date expires = new Date(new Date().getTime()+ 10*365*24*3600*1000);
        GeneratePresignedUrlRequest generatePresignedUrlRequest ;
        if(key.startsWith("msplatform")){
            generatePresignedUrlRequest =new GeneratePresignedUrlRequest(BUCKETNAME, key);
        }else {
            generatePresignedUrlRequest =new GeneratePresignedUrlRequest(BUCKETNAME_VIDEO, key);
        }
        generatePresignedUrlRequest.setExpiration(expires);
        URL url = client.generatePresignedUrl(generatePresignedUrlRequest);
        return url.toString();
    }
     
    /**
     * @Description: 根据key获取oss服务器上的图片地址
     * @param key
     * @return 
     * @ReturnType:String
    */
    public InputStream  getObject(String key){
        init();
        OSSObject object = null;
        if(key.startsWith("msplatform")){
            object= client.getObject(BUCKETNAME, key);
        }else{
            object= client.getObject(BUCKETNAME_VIDEO, key);
        }
        object.getObjectMetadata().getContentType();
        // 获取Object的输入流
        InputStream objectContent = object.getObjectContent();
         
     
        return objectContent;
    }
     
     
    /**
     * @Description:删除文件
     * @param key  OSS文件服务器上文件的唯一标识
     * @ReturnType:void
    */
    public void deleteFile(String key){
        init();
        client.deleteObject(BUCKETNAME, key);
    }
     
     
    /**
     * @Description: 断点上传文件到OSS文件服务器
     * @param content  文件流
     * @param key    上传为OSS文件服务器的唯一标识
     * @param position 位置
    */
    public String  appendObjectFile(InputStream content,String key,int position,String mimeType) throws Exception{
           //进行初始化
            init();
            // 必须设置ContentLength
            meta.setContentLength(position);
            meta.setContentType(mimeType);
            meta.setCacheControl("no-cache");
            meta.setContentEncoding("utf-8");
            // 上传
            LogUtil.printConsoleLog("*****************断点上传图片到oss服务器开始*****************" + key);
            AppendObjectRequest appendObjectRequest = new AppendObjectRequest(BUCKETNAME, key, content, meta);
            appendObjectRequest.setPosition(Long.valueOf(position));
            AppendObjectResult appendObjectResult =client.appendObject(appendObjectRequest);
            LogUtil.printConsoleLog("*****************断点上传图片到oss服务器结束*****************" + key);
            return appendObjectResult.getNextPosition().toString();
    }
     
    public static void main(String[] args) {
        OssManage ossManage = new OssManage();
    }
}
​详细的配置信息可以参考这篇文章:http://blog.ncmem.com/wordpress/2019/08/12/java%e4%b8%8a%e4%bc%a0%e6%96%87%e4%bb%b6%e5%a4%b9%e5%88%b0oss-2/

java上传文件夹到oss相关推荐

  1. java+上传文件夹

    我们平时经常做的是上传文件,上传文件夹与上传文件类似,但也有一些不同之处,这次做了上传文件夹就记录下以备后用. 首先我们需要了解的是上传文件三要素: 1.表单提交方式:post (get方式提交有大小 ...

  2. java上传文件(java上传文件夹)

    Java如何删除文件? private void deleteFiles(List fileList, String path) { for (int index = 0; index fileLis ...

  3. 凭借这份Java面试题集,java上传文件夹

    阿里系的lazada一面现场(50min) ①sync的底层实现,锁优化,和lock的对⽐等 ②jvm参数调优详细过程,到为什么这么设置,好处,⼀些gc场景,如何去分析gc⽇志 ③redis数据结构, ...

  4. java 上传文件到服务器_java上传文件到OSS云服务器(二)

    上篇文章中已经把接口端和service业务层写了,这次就把OSS上传文件的工具类补上. 一.首先配置好OSS服务器各项节点,这是在springboot中appliaction.yml配置文件中的写法. ...

  5. java实现上传文件夹

    我们平时经常做的是上传文件,上传文件夹与上传文件类似,但也有一些不同之处,这次做了上传文件夹就记录下以备后用. 首先我们需要了解的是上传文件三要素: 1.表单提交方式:post (get方式提交有大小 ...

  6. jsp webuploader上传文件夹

    我们平时经常做的是上传文件,上传文件夹与上传文件类似,但也有一些不同之处,这次做了上传文件夹就记录下以备后用. 首先我们需要了解的是上传文件三要素: 1.表单提交方式:post (get方式提交有大小 ...

  7. ftp 文件夹 上传到服务器,ftp上传文件夹到服务器 远程路径

    ftp上传文件夹到服务器 远程路径 内容精选 换一换 WinSCP工具可以实现在本地与远程计算机之间安全地复制文件.与使用FTP上传代码相比,通过 WinSCP 可以直接使用服务器账户密码访问服务器, ...

  8. JAVA上传文件图片到服务器保存

    这里我记录一个比较简单方便操作的JAVA上传文件图片到服务器并且保存! 首先是页面 html的   我这是提交一个文件和类型 <div style="border: 1px solid ...

  9. Java上传文件到minio

    Minio 是个基于 Golang 编写的开源对象存储套件,基于Apache License v2.0开源协议,虽然轻量,却拥有着不错的性能.而且学习成本低,安装运维简单,开箱即用,提供 Java 客 ...

最新文章

  1. mysql数据库21_Mysql5.7.21安装文档
  2. 关于CLR、CIL、CTS、CLS、CLI、BCL和FCL
  3. 波束形成、回声消除、声源定位及端到端等语音信号处理算法
  4. 从零开始学习docker(九)持久化存储和数据共享之 Data Volume
  5. abap 生成流水号每天从1开始_条码软件如何制作循环流水号
  6. Redis 分布式方案
  7. TensorFlow在win10上的安装与使用(二)
  8. spring-boot-devtools热加载不起作用
  9. tdav_converter_video.cxx:49:9: error: ‘uint8’ does not name a type; did you mean ‘uint’?
  10. SVN上库前检查(钩子程序)
  11. 惯性导航学习笔记————惯性导航概述
  12. if 语句错误,提示Conditon is always ‘‘alse‘
  13. 转专业 计算机,转专业系列之信息/计算机
  14. 市场规模、市场份额、市场定位、产品类型以及发展规划-园艺电动工具
  15. python報錯: OSError: Unable to locate Ghostscript on paths
  16. Microsoft Xps Document Writer 虚拟打印机安装
  17. Python函数返回多个值的方法
  18. php 图片抠图,php 图像处理 抠图,生成背景透明png 图片
  19. 电路基本原理那些事儿之 能量守恒定律
  20. 订单测试点(欢迎补充)

热门文章

  1. 中邮消费金融面试随笔
  2. 文本框直接粘贴添加图片构想
  3. 用Python turtle库 绘制皮卡丘
  4. css如何将彩色图片变为黑白图片
  5. 倍福---PLC 字符串类型string操作
  6. 游戏编辑器制作(8)
  7. 网络编程之端口与套接字
  8. 安卓结构能转换成苹果借口吗_在外面开着手机WiFi有多危险你知道吗?
  9. BSOJ1495 拾垃圾的机器人3451
  10. Animation动画学习