layui:springboot+layui完成文件上传功能,附工程文件

目录结构

layui:springboot+layui完成文件上传功能,附工程文件_第1张图片

在idea中新建一个springboot工程,组件选择web和thymleaf就够了。新建好项目之后,将layui放在static文件夹下,然后在templates文件夹下创建一个index.html文件 




    
    layui文件上传示例
    
    
    
    
    




在controller下新建一个类,类名为File

package com.example.Controller;

import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;

@Controller
public class File {

    /**
     * index.html页面
     * @return
     */
    @RequestMapping("/file")
    public String index(){
        return "index";
    }
}

在controller下新建一个类,类名为UploadFile

package com.example.Controller;

import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONObject;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.ResponseBody;
import org.springframework.web.bind.annotation.RestController;
import org.springframework.web.multipart.MultipartFile;

import javax.servlet.http.HttpServletRequest;
import java.io.File;


@RestController
public class UploadFile {

    @ResponseBody
    /*@ResponseBody是作用在方法上的,@ResponseBody 表示该方法的返回结果直接写入 HTTP response body 中,
    一般在异步获取数据时使用【也就是AJAX】。
    注意:在使用 @RequestMapping后,返回值通常解析为跳转路径,但是加上 @ResponseBody 后返回结果不会被解析为跳转路径,
    而是直接写入 HTTP response body 中。 比如异步获取 json 数据,加上 @ResponseBody 后,会直接返回 json 数据。
    @RequestBody 将 HTTP 请求正文插入方法中,使用适合的 HttpMessageConverter 将请求体写入某个对象。
    */
    @RequestMapping("/uploadFile")
    public JSON uploadFile(MultipartFile file, HttpServletRequest request) {
        JSONObject json=new JSONObject();
        String filePath = "D:/uploadFile/";//上传到这个文件夹
        File file1 = new File(filePath);
        if (!file1.exists()) {
            file1.mkdirs();
        }
        String finalFilePath = filePath + file.getOriginalFilename().trim();
        File desFile = new File(finalFilePath);
        if (desFile.exists()) {
            desFile.delete();
        }
        try {
            file.transferTo(desFile);
            json.put("code",0);
        } catch (Exception e) {
            System.out.println(e.getMessage());
            json.put("code",1);
        }
        return json;
    }
}

最后直接run就可以了。

layui:springboot+layui完成文件上传功能,附工程文件_第2张图片

附工程文件:链接,提取码:2qws

你可能感兴趣的:(前端)