SpringBoot分享(一)---图片上传API

SpringBoot实现图片上传API

前言

昨天花了一整天的时间,才写好了图片上传的API,在这里就想把这个方法分享给大家

功能简述

使用SpringBoot编写API,供前端开发者调用,可以做到当前端点击按钮的时候,可以选择图片,进行上传,之后图片会上传到指定的目录下面,之后会把目录放到数据库中.

具体实现

现在先来看控制器代码

	@CrossOrigin	//实现跨域请求
    //下面是编写接口名和请求方式
    @RequestMapping(value = "/uploadimg", method = RequestMethod.POST)
    //注意参数的类型和第一个参数的"file",之后会用到的
    public String uploadImg(@RequestParam("file") MultipartFile file, HttpServletRequest request, HttpServletResponse response) throws IllegalStateException, IOException {
			
        //设置文件的保存路径
        //把接口放到服务器上面的话,就改成指定的目录下面
        String path = "E:\\Spring\\data\\img\\";
        System.out.println(path);

        //文件命名  我这里上传之后的图片就使用了原图
        String originalFilename = file.getOriginalFilename();
        System.out.println(originalFilename);
        //获取文件的后缀名
        String extendName = originalFilename.substring(originalFilename.lastIndexOf("."), originalFilename.length());

        //判断文件是否是图片
        Map<String, String> map = new HashMap<>();
        String[] imagType = {".jpg", ".png", ".bmp", ".gif"};
        List<String> imageTyepLists = Arrays.asList(imagType);
        if (imageTyepLists.contains(extendName)) {
            File dir = new File(path, originalFilename);
            //并接图片路径
            String ImgPath=path+originalFilename;
            File filepath = new File(path);
            //创建存放图片的文件夹
            if (!filepath.exists()) {
                filepath.mkdirs();
            }
            //把图片放进文件夹中
            file.transferTo(dir);

            //把图片的路径写入数据库
            imageService.addImagePath(ImgPath);

            return "200";
        }
        return "400";
    }

根据上面的代码,我们的图片上传的API就已经写好了,之后还要测试一下这个接口是否可以被成功的访问到,我们这里采用的是postman进行测试

在这里插入图片描述

使用postman进行图片上传的API接口测,首先你要在类型为text的时候,输入上面参数的第一个参数的值"file",之后你在切换成为File,这样子就会出现选择文件的按钮,这样子就可以测试的图片/文件上传API

今天就分享到这里了,希望可以帮助到你
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值