zoukankan      html  css  js  c++  java
  • 文件上传

     public void upload (@RequestParam("file") MultipartFile file, String remark) {
            System.out.println("执行了一次");
            // 获取原始名字
            String fileNameOld = file.getOriginalFilename();
            // 获取后缀名
            String suffixName = fileNameOld.substring(fileNameOld.lastIndexOf(".")+1);
            //获取纯文件名
            String onlyFileName = fileNameOld.substring(0,fileNameOld.lastIndexOf("."));
    
            // 文件重命名,防止重复
                 final String OSS_ENDPOINT = "oss-cn-guangzhou.aliyuncs.com";
                 final String OSS_ACCESSKEY = "LTAI4GGAoCDgAvU3bsUhExyN";
                 final String OSS_SECRETKEY = "DDmqUoGIAazHxSGqASqIaAzoaxh6D6";
                 final String OSS_BUCKETNAME = "xiaojie";
            String fileName = UUID.randomUUID() + "_" + fileNameOld;
    
            OSS ossClient = new OSSClientBuilder().build(OSS_ENDPOINT,OSS_ACCESSKEY,OSS_SECRETKEY);
            try {
                final File tempFile = File.createTempFile(UUID.randomUUID() + "_" + onlyFileName,suffixName);
    
                //MultipartFile  转换为 File
                file.transferTo(tempFile);
    
                //容器不存在,就创建
                if(! ossClient.doesBucketExist(OSS_BUCKETNAME)){
                    ossClient.createBucket(OSS_BUCKETNAME);
                    CreateBucketRequest createBucketRequest = new CreateBucketRequest(OSS_BUCKETNAME);
                    createBucketRequest.setCannedACL(CannedAccessControlList.PublicRead);
                    ossClient.createBucket(createBucketRequest);
                }
                String fileUrl ="upload/"+ fileName;
    
                PutObjectResult result = ossClient.putObject(new PutObjectRequest(OSS_BUCKETNAME, fileUrl, tempFile));
    
                ossClient.setBucketAcl(OSS_BUCKETNAME, CannedAccessControlList.PublicRead);
    
    
                if(null != result){
                    logger.info("==========>OSS文件上传成功,OSS地址:"+fileUrl);
    
                }
            }catch (OSSException oe){
                logger.error(oe.getMessage());
            }catch (ClientException ce){
                logger.error(ce.getMessage());
            } catch (Exception e) {
                e.printStackTrace();
            } finally {
                //关闭
                ossClient.shutdown();
            }
        }
    

     文件上传的一个阿里oss的上传使用。

  • 相关阅读:
    在emacs上使用博客园的代码功能
    Programming Pearls笔记之一
    Virtualbox中Archlinux联网问题
    微信公众平台消息接口开发集成解决方案
    发送短信
    基于JMS的数据交换既数据互操作平台的解决方案
    Spring MVC基于注解的Junit测试
    获取设置一个字节某一个位的数值
    NotificationManager
    调用系统联系人列表
  • 原文地址:https://www.cnblogs.com/easyjie/p/14680911.html
Copyright © 2011-2022 走看看