springboot+使用ajax上传文件并返回路径存入数据库

话不多说直接上图。
前端(PS:都是后端,你懂得。。。。怎么简单怎么来)
springboot+使用ajax上传文件并返回路径存入数据库_第1张图片
对了,那个语法需要引入jQuery,懒得去找了。。。O(∩_∩)O哈哈~,我是纯手打的。
后台
自己写的一个上传文件并返回文件名封装的方法,其实就是流而已。
springboot+使用ajax上传文件并返回路径存入数据库_第2张图片
controller层就没什么好说了的了,只是那个图片路径看你自己怎么存了,按照实际情况看看可拼接一下。
springboot+使用ajax上传文件并返回路径存入数据库_第3张图片
下面是代码,自己看着来复制哈,其实很简单的一个小东西而已,最惨的是自己还捣鼓了半天(# ̄~ ̄#)

//上传文件并返回新生成的文件名
    public String getUploadName(MultipartFile file,String pathName){
        String fileName = file.getOriginalFilename();  // 文件名
        String suffixName = fileName.substring(fileName.lastIndexOf("."));  // 截取后缀名
        fileName = UUID.randomUUID() + suffixName; // 重新生成新文件名
        File dest = new File(pathName + fileName);
        if (!dest.getParentFile().exists()) {
            dest.getParentFile().mkdirs();
        }
        try {
            file.transferTo(dest);
            return dest.getName();//返回新的文件名
        } catch (IOException e) {
            e.printStackTrace();
            return null;
        }
@RequestMapping("/test/upload")
    public List TbItemController(MultipartFile file,String name,Integer cuId) throws IOException {
            //设置上传路径
            File file11 = new File("");
            String courseFile = file11.getCanonicalPath();//获取项目根目录
            String uploadName = getUploadName(file, courseFile);//上传文件后返回的文件名称,存入数据库要用到

        //数据库操作,就不写了
        return null;

    }

还有如果要多文件上传的话,也是一个道理的,input文本框设置能多选,jQuery获取那里要改一下,后台用MultipartFile files[]接收就行了。。。

记录贴,方便查看!!!

你可能感兴趣的:(springboot)