其他分享
首页 > 其他分享> > FormData传递数据

FormData传递数据

作者:互联网

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
    <script src="https://cdn.bootcss.com/jquery/3.3.1/jquery.min.js"></script>
</head>
<body>
<input type="text" name="username" id="t1" value="123">
<input type="text" name="password" id="t2">
<input type="file" name="myfile" id="t3">
<button id="button" onclick="upload()">提交</button>

<script>
    function upload() {
        var formData = new FormData();
        formData.append("username",$("#t1").val())
        formData.append("password",$("#t2").val())
        formData.append("file",$("#t3")[0].files[0])

        $.ajax({
            url:'http://localhost:8081/upload',
            method:'post',
            data:formData,
            contentType:false,// 不用任何编码
            processData:false, //告诉浏览器不要处理我的数据,直接发送
            success:function(data){
                console.log(data)
            }
        })
        console.log(formData);
    }

</script>

</body>
</html>
@RestController
public class FileUploadController {
    SimpleDateFormat sdf = new SimpleDateFormat("/yyyy/MM/dd/");

    @PostMapping("/upload")
    @CrossOrigin
    public String upload(MultipartFile file, HttpServletRequest req,String username,String password){
        System.out.println("username = " + username);
        System.out.println("password = " + password);
        ServletContext servletContext = req.getServletContext();
        String format = sdf.format(new Date());
        String realPath = servletContext.getRealPath("/img")+format;
        System.out.println("realPath = " + realPath);
        File folder = new File(realPath);
        if(!folder.exists()){
            folder.mkdirs();
        }
        String oldName = file.getOriginalFilename();
        String newName = UUID.randomUUID().toString().replace("-","") + oldName.substring(oldName.lastIndexOf("."));

        try {
            file.transferTo(new File(folder,newName));
            return req.getScheme() + "://" + req.getServerName() + ":" + req.getServerPort() + "/img" + format + newName;
        } catch (IOException e) {
            e.printStackTrace();
        }
        return "error";
    }
}

标签:String,format,FormData,req,传递数据,new,folder,formData
来源: https://blog.csdn.net/qq_36022463/article/details/122330191