swagger+SSM框架中图片上传功能的简单实现(少量代码轻松版)

图片上传的简单实现

swagger接口

这里需要用到SSM框架和swagger的一些知识,不知道没关系,关注我,说不定我会更新。

@Controller
@ResponseBody
@RequestMapping("Oss")
public class OssController {
    @Autowired
    private OssService ossService;

    @ApiOperation(value="文件上传", notes="文件上传")
    @ResponseBody
    @RequestMapping(value = "/uploadImage",method = RequestMethod.POST,consumes = "multipart/*",headers = "content-type=multipart/form-date")
    public BaseModel upload(@ApiParam("商品id") @RequestParam(value = "id") int id,
                            @ApiParam(value = "上传的文件" ,required = true) MultipartFile file, HttpServletRequest request) throws Exception {
        BaseModel model = new BaseModel();
        ossService.getImagePath(id,file,model);
        return model;
    }

}

还是那句话遇到代码别怕,这里主要用到框架、注解,复制过去可以运行,逻辑不难,那些注解你就想着是用来打开某种功能就行了,注解器自己会处理的,背后实现逻辑又不要你清楚。若使用SSM框架,那你直接复制进去即可

这段代码可以开启swagger的文件传输

在这里插入图片描述
在这里插入图片描述

服务器图片本地化

下面的代码用于本地化MultipartFile文件。
上面方法里面的MultipartFile file通过ossService.getImagePath(id,file,model);传了进来,请看下面

这里提供主要代码,具体实现自己写一写哈,判空,数据库增删改查什么的。

 private boolean localFile( MultipartFile file,String user){
        if (file.isEmpty()) {
            return false;
        }else if(file.getSize() > (10 * 1024 * 1024)){
            return false;
        }
        String fileName = file.getOriginalFilename();
        File dest = new File("D:\\Tomcat\\Tomcat\\webapps\\image\\"+user, fileName);
        if (!dest.getParentFile().exists()) {
            dest.getParentFile().mkdirs();
        }
        try {
            file.transferTo(dest); // 保存文件
            return true;
        } catch (Exception e) {
            e.printStackTrace();
        }
        return false;
    }

file.transferTo(dest)实现本地化,其中地址我用的是绝对路径,使用相对路径的话,加载在Tomcat里面是在bin目录下,也就是该JavaWeb部署在Tomcat里,这个文件会被bin目录的startup.bat加载到服务器中并对外开放。../webapps/image和我上面的绝对路径是一样的,你细品。

在这里插入图片描述在这里插入图片描述
在这里插入图片描述

发布了25 篇原创文章 · 获赞 7 · 访问量 2568

猜你喜欢

转载自blog.csdn.net/qq_44403367/article/details/105690838