百科问答小站 logo
百科问答小站 font logo



阿里云oss采用后台调用java上传的方式什么意思


user avatar   网友的相关建议: 
      

前段时间正好做个项目,就是用的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(){         // <a href="https://www.baidu.com/s?wd=%E5%88%9D%E5%A7%8B%E5%8C%96&tn=44039180_cpr&fenlei=mv6quAkxTZn0IZRqIHckPjm4nH00T1Y4P1R1myc4rH9bmHFBPjDz0ZwV5Hcvrjm3rH6sPfKWUMw85HfYnjn4nH6sgvPsT6KdThsqpZwYTjCEQLGCpyw9Uz4Bmy-bIi4WUvYETgN-TLwGUv3ErHcsPWD3nW0sP1TdPWm4PWD4" target="_blank" class="baidu-highlight">初始化</a>一个OSSClient            client = new OSSClient(ENDPOINT,ACCESS_KEY_ID, ACCESS_KEY_SECRET);            meta = new ObjectMetadata();    }         /**     * @Description: 上传文件到OSS<a href="https://www.baidu.com/s?wd=%E6%96%87%E4%BB%B6%E6%9C%8D%E5%8A%A1%E5%99%A8&tn=44039180_cpr&fenlei=mv6quAkxTZn0IZRqIHckPjm4nH00T1Y4P1R1myc4rH9bmHFBPjDz0ZwV5Hcvrjm3rH6sPfKWUMw85HfYnjn4nH6sgvPsT6KdThsqpZwYTjCEQLGCpyw9Uz4Bmy-bIi4WUvYETgN-TLwGUv3ErHcsPWD3nW0sP1TdPWm4PWD4" target="_blank" class="baidu-highlight">文件服务器</a>     * @param content  文件流     * @param key    上传为OSS<a href="https://www.baidu.com/s?wd=%E6%96%87%E4%BB%B6%E6%9C%8D%E5%8A%A1%E5%99%A8&tn=44039180_cpr&fenlei=mv6quAkxTZn0IZRqIHckPjm4nH00T1Y4P1R1myc4rH9bmHFBPjDz0ZwV5Hcvrjm3rH6sPfKWUMw85HfYnjn4nH6sgvPsT6KdThsqpZwYTjCEQLGCpyw9Uz4Bmy-bIi4WUvYETgN-TLwGUv3ErHcsPWD3nW0sP1TdPWm4PWD4" target="_blank" class="baidu-highlight">文件服务器</a>的唯一标识     * @param mimeType  文档类型     * @throws Exception      * @ReturnType:String   OSSObject的ETag值。    */    public String  uploadFile(InputStream content,String key,String mimeType) throws Exception{        //进行<a href="https://www.baidu.com/s?wd=%E5%88%9D%E5%A7%8B%E5%8C%96&tn=44039180_cpr&fenlei=mv6quAkxTZn0IZRqIHckPjm4nH00T1Y4P1R1myc4rH9bmHFBPjDz0ZwV5Hcvrjm3rH6sPfKWUMw85HfYnjn4nH6sgvPsT6KdThsqpZwYTjCEQLGCpyw9Uz4Bmy-bIi4WUvYETgN-TLwGUv3ErHcsPWD3nW0sP1TdPWm4PWD4" target="_blank" class="baidu-highlight">初始化</a>        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的<a href="https://www.baidu.com/s?wd=%E8%BE%93%E5%85%A5%E6%B5%81&tn=44039180_cpr&fenlei=mv6quAkxTZn0IZRqIHckPjm4nH00T1Y4P1R1myc4rH9bmHFBPjDz0ZwV5Hcvrjm3rH6sPfKWUMw85HfYnjn4nH6sgvPsT6KdThsqpZwYTjCEQLGCpyw9Uz4Bmy-bIi4WUvYETgN-TLwGUv3ErHcsPWD3nW0sP1TdPWm4PWD4" target="_blank" class="baidu-highlight">输入流</a>        InputStream objectContent = object.getObjectContent();                      return objectContent;    }              /**     * @Description:删除文件     * @param key  OSS<a href="https://www.baidu.com/s?wd=%E6%96%87%E4%BB%B6%E6%9C%8D%E5%8A%A1%E5%99%A8&tn=44039180_cpr&fenlei=mv6quAkxTZn0IZRqIHckPjm4nH00T1Y4P1R1myc4rH9bmHFBPjDz0ZwV5Hcvrjm3rH6sPfKWUMw85HfYnjn4nH6sgvPsT6KdThsqpZwYTjCEQLGCpyw9Uz4Bmy-bIi4WUvYETgN-TLwGUv3ErHcsPWD3nW0sP1TdPWm4PWD4" target="_blank" class="baidu-highlight">文件服务器</a>上文件的唯一标识     * @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{           //进行<a href="https://www.baidu.com/s?wd=%E5%88%9D%E5%A7%8B%E5%8C%96&tn=44039180_cpr&fenlei=mv6quAkxTZn0IZRqIHckPjm4nH00T1Y4P1R1myc4rH9bmHFBPjDz0ZwV5Hcvrjm3rH6sPfKWUMw85HfYnjn4nH6sgvPsT6KdThsqpZwYTjCEQLGCpyw9Uz4Bmy-bIi4WUvYETgN-TLwGUv3ErHcsPWD3nW0sP1TdPWm4PWD4" target="_blank" class="baidu-highlight">初始化</a>            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();    }}




相关阿里云话题

阿里云oss bucket object什么区别
阿里云经典网络和专有网络有什么区别?
阿里云服务器备案服务号有什么用
阿里云ssd和高效云盘有什么区别
啥意思 怎样开启 我想登录阿里云邮箱在手机可以吗
小弟的JAVA网站,在阿里云服务器运行,宽带独享2M。公网流入流量(0.00G) ,公网流出流量(0.00G) 么意思?
阿里云怎么配置安全组
阿里云 共享计算型会不会受到其它用户影响
阿里云建站套路
怎么将本地文件传到阿里云服务器里面
在阿里云服务器上是用什么操作系统
阿里云服务器怎么搭建自己的博客
在阿里云买了个云服务器,该怎么变成做网站的空间呢?
我的一个阿里云服务器到期了,怎么把网站转移到另外一个阿里云服务器上呢?
如何让别人登录我的阿里云服务器给我安装服务器软件?
分享阿里云服务器怎么重装系统或重置系统
阿里云服务器太不安全了,老是被攻击,工作人员就负责把服务器给我关了
阿里云服务器怎样必须用域名访问
阿里云服务器远程连不上?
阿里云 如何进行数据备份



前一个讨论
阿里云cdn流量包指的是什么?
下一个讨论
阿里云oss bucket object什么区别





© 2024-03-02 - tinynew.org. All Rights Reserved.
© 2024-03-02 - tinynew.org. 保留所有权利