zoukankan      html  css  js  c++  java
  • springboot上传excel到oss

     
     
    Demo如下:
    package com.ztkj.engine.portal.controller;
    
    import com.aliyun.oss.OSSClient;
    import com.aliyun.oss.model.ObjectMetadata;
    import com.ztkj.engine.common.result.Response;
    import com.ztkj.engine.portal.entity.bean.Region;
    import com.ztkj.engine.portal.service.RegionService;
    import org.springframework.beans.factory.annotation.Autowired;
    import org.springframework.beans.factory.annotation.Value;
    import org.springframework.web.bind.annotation.RequestBody;
    import org.springframework.web.bind.annotation.RequestMapping;
    import org.springframework.web.bind.annotation.RequestParam;
    import org.springframework.web.bind.annotation.RestController;
    import org.springframework.web.multipart.commons.CommonsMultipartFile;
    
    import java.text.SimpleDateFormat;
    import java.util.Calendar;
    import java.util.HashMap;
    import java.util.Map;
    import java.util.UUID;
    
    /**
     * 版本         开发者               创建日期
     * 1.0.0   InetCommunity(^_^)on     2018/12/25.
     */
    @RestController
    @RequestMapping("/common")
    public class CommonController {
    
        @Value("${OSS.BUCKET_NAME}")
        private String BUCKET_NAME;
        @Value("${OSS.ENDPOINT}")
        private String ENDPOINT;
        @Value("${OSS.ACCESS_KEY_ID}")
        private String ACCESS_KEY_ID;
        @Value("${OSS.ACCESS_KEY_SECRET}")
        private String ACCESS_KEY_SECRET;
        @Value("${OSS.IMG_DOMAIN}")
        private String IMG_DOMAIN;
    
        @Autowired
        private RegionService regionService;
    
        @RequestMapping("/uploadImg")
        public Response uploadImg(@RequestParam(value="file",required = false)CommonsMultipartFile file){
            OSSClient ossClient=new OSSClient(ENDPOINT,ACCESS_KEY_ID,ACCESS_KEY_SECRET);
            String fileType=file.getContentType();
            try{
                ObjectMetadata meta=new ObjectMetadata();
                meta.setContentLength(file.getSize());
                String fileName=file.getOriginalFilename();
                String fileNewName=fileNameGenerator()+fileName.substring(fileName.lastIndexOf("."));
                ossClient.putObject(BUCKET_NAME,fileNewName,file.getInputStream(),meta);
                Map map=new HashMap();
                map.put("filePath",fileNewName);
                return Response.successResult(map);
            }catch (Exception e){
                return Response.dataError("上传失败,请重试");
                //throw new RuntimeException("上传图片失败,请重试");
            }
            finally{
                if(ossClient!=null){
                    ossClient.shutdown();
                }
            }
        }
    
        /*
        * 生成图片文件全路径
        * */
        public String fileNameGenerator(){
            Calendar date=Calendar.getInstance();
            SimpleDateFormat formatYear=new SimpleDateFormat("yyyy");
            SimpleDateFormat formatMonth=new SimpleDateFormat("MM");
            SimpleDateFormat formatDay=new SimpleDateFormat("dd");
            String year=formatYear.format(date.getTime());
            String month=formatMonth.format(date.getTime());
            String day=formatDay.format(date.getTime());
            String fileName= UUID.randomUUID().toString();
            return year+"/"+month+"/"+day+"/"+fileName;
        }
    
        @RequestMapping(value="/getRegionByPid")
        public Response  getRegionByPid(@RequestBody Region region){
            if(region==null||region.getPid()==null){
                //默认显示第一级
                region=new Region();
                region.setPid(0L);
            }
            return this.regionService.getRegionByPid(region);
        }
    }
  • 相关阅读:
    redis命令参考(四) set集合
    redis命令参考(三) List列表相关
    redis命令参考(二)
    redis命令参考(一) SortedSet相关
    insert_into_on_dumplicate_key
    laravel深入分析
    开发中GBK+UTF8编码的处理
    ajax封装调用
    linux正则表达式的用法
    linux 如何保证使程序后台运行(nohup &)
  • 原文地址:https://www.cnblogs.com/duguxiaobiao/p/12091746.html
Copyright © 2011-2022 走看看