本地文件上传到阿里云服务器

该代码示例展示了如何在Java应用中处理文件上传,将文件保存到服务器指定目录,并在上传成功后使用Docker命令进行路径映射,包括上传文件的存储路径和项目日志路径。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

    //服务器存放地址  
    @Value("/mnt/data/gis")
    private String comPicPath;  

    @ApiOperation(value = "上传文件", notes = "上传文件")
    @PostMapping(value = "/compic")
    public Map upload(@RequestParam("file") MultipartFile file) throws IOException {
        // 企业图片地址
        String filenewname = "";
        String filepath = "";
        Map map = new HashMap();
        SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
        String format = "";
        //文件上传
        if (StringUtil.isNotEmpty(file)) {
            //获取文件名
            String filename = file.getOriginalFilename();
            //文件名后缀
            String suffix = filename.substring(filename.lastIndexOf("."));
            //随机生成的文件名称和原本的文件名后缀
            filenewname = UUID.randomUUID() + suffix;
            format = sdf.format(new Date());
         
            File folder = new File(comPicPath + format);
            if (!folder.exists() && !folder.isDirectory()) {
                folder.setWritable(true, false);
                folder.mkdirs();
                log.info("创建文件夹");
            } else {
                log.info("文件夹已存在");
            }
            filepath = comPicPath + format + File.separator + filenewname;
            file.transferTo(new File(filepath));
            String url = "阿里云地址" + format + "/" + filenewname;
            map.put("url", url);
            map.put("state", "SUCCESS");
            map.put("original", filename);
            map.put("size", file.getSize());
            map.put("title", filename);
            map.put("type", suffix);
        } else {
            ValueUtil.isError("文件不能为空,请选择文件");
        }
        return map;
    }

 上传成功以后是存到了服务器的缓存目录,需要执行docker命令,进行路径映射
这里是做了两个映射,前面是上传文件映射,后面是项目日志的映射
 

docker run   --restart=always   -v /mnt/data/gis:/mnt/data/gis -v /mnt/data/${JOB_BASE_NAME}/logs:/logs  --name ${JOB_BASE_NAME} -p 5009:5009  -d ${JOB_BASE_NAME}

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值