oss的上传和下载(1)

首先当然是开通 oos 服务啦之后创建一个backet 取名haha174
顺带创建几个分类文件夹如下图
oss的上传和下载(1)
接下来依次去到上传所需要的数据创建一个工具类来保存方便使用
pom 依赖

    <dependency>
      <groupId>com.aliyun.oss</groupId>
      <artifactId>aliyun-sdk-oss</artifactId>
      <version>2.7.0</version>
    </dependency>
    
    public class FilePath {
        public static final String RESOURCE_PATH="D:/";
        public static final String URL_PATH="www.haha174.top:8086/dbz/";
        //  oos   相关   数据
        public static final String endpoint="http://oss-cn-beijing.aliyuncs.com";
        public static final  String accessKeyId = "LTAIWOJiEXDii";
        public static final  String accessKeySecret = "0GQxrDVLr1ohyCMOuZpUvg";
        public static final String bucketName="haha174";
        public static final String accessUrl="http://haha174.oss-cn-beijing.aliyuncs.com";
        //  oos   相关   结束
        // 下载文件零时存放  和  pdf  临时存放路径
        public static final String PDF_PATH="D://";
    }

      当然了上述的asskey 和accessKeySecret 是假的 可以去https://ak-console.aliyun.com/?spm=5176.8465980.home.dindex1.7fcf7b345iZLRa#/accesskey 查看自己的id 和accessKeySecret
      接下来写一个工具类做上传用

       public static String uploadFile(MultipartFile multipartFile, String remotePath) throws Exception {
                  // 流转换 将MultipartFile转换为oss所需的InputStream  
                 // CommonsMultipartFile cf = (CommonsMultipartFile) multipartFile;  
                 // DiskFileItem fi = (DiskFileItem) cf.getFileItem();  
                  InputStream fileContent = multipartFile.getInputStream();  
                  //获取文件名,对文件名做随机处理  
                  String fileName = multipartFile.getOriginalFilename();  
                  System.out.println(fileName);
                  //这里可以修改文件的命名
                  fileName = "dbz_" + new Date().getTime() + fileName.substring(fileName.lastIndexOf("."));
                  // 加载配置文件,初始化OSSClient  
                //  OSSConfigure ossConfigure = new OSSConfigure("/system.properties");
                  OSSClient ossClient = new OSSClient(FilePath.endpoint, FilePath.accessKeyId,
                          FilePath.accessKeySecret);
                  // 定义二级目录  
                  String remoteFilePath = remotePath.substring(0, remotePath.length()).replaceAll("\\\\", "/") + "/";  
                  // 创建上传Object的Metadata  
                  ObjectMetadata objectMetadata = new ObjectMetadata();  
                  objectMetadata.setContentLength(fileContent.available());  
                  objectMetadata.setContentEncoding("utf-8");  
                  objectMetadata.setCacheControl("no-cache");  
                  objectMetadata.setHeader("Pragma", "no-cache");  
                  objectMetadata.setContentType(contentType(fileName.substring(fileName.lastIndexOf("."))));  
                  objectMetadata.setContentDisposition("inline;filename=" + fileName);  
                  // 上传文件
                  System.out.print(remoteFilePath);
                  ossClient.putObject(FilePath.bucketName, remoteFilePath+fileName , fileContent, objectMetadata);
                  // 关闭OSSClient  
                  ossClient.shutdown();  
                  // 关闭io流  
                  fileContent.close();  
                  return FilePath.accessUrl + "/" + remoteFilePath + fileName;
              }

        之后通过controller 调用

        
            @RequestMapping("/oos.do")
            public String UploadVideo(MultipartFile file,HttpSession sesssion) throws ParseException {
        
                boolean flag = true;
                RandomUtil util = new RandomUtil();
                if (file != null) {
                        try {String type = file.getOriginalFilename().substring(file.getOriginalFilename().lastIndexOf(".") + 1);
                            //String filePath = Resource + util.getTimeString() + util.getRandom(4) + "." + type;
        
                            // 转存文件
                            //file.transferTo(new File(FilePath.RESOURCE_PATH+filePath));
                            //下面的other  是你bucket中德分类文件夹名称
                            String filePath=   new OSSManageUtil().uploadFile(file,"other");
                            return  filePath;
                            //得到新的文件名
                           // list.add(new Msg(size, FilePath.URL_PATH+filePath));
                        } catch (Exception e) {
                            e.printStackTrace();
                            return  "上传失败";
                        }
        
                } else {
                }
                return  "上传成功";
            }

          创建一个jsp 页面来做文件上传

          
           <form  action="/upload/oos.do" method="post" id="ImageForm" enctype="multipart/form-data" >
          <input id='upinput' type='file' name='file'>
          <input type='submit' value="上传">
          </form>

            启动项目上传图片oss的上传和下载(1)
            选择一张图片上传成功的话会返回 访问地址如下图
            oss的上传和下载(1)
            简单的 java sdk 就上传成功了

            首先当然是开通 oos 服务啦之后创建一个backet 取名haha174
            顺带创建几个分类文件夹如下图
            oss的上传和下载(1)
            接下来依次去到上传所需要的数据创建一个工具类来保存方便使用
            pom 依赖