zoukankan      html  css  js  c++  java
  • springMVC 多文件上传前后台demo

    只是个demo,需要数据校验,流程是通的

    配置上传文件的解析器

    前端代码;

    <%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
    <!DOCTYPE html>
    <html>
    <head>
    <meta charset="UTF-8">
    <title>文件上传</title>

    <style>
    .img{
    150px;
    height:90px;
    }
    </style>

    </head>
    <body>
    <form enctype="multipart/form-data" return:false;>
    <input type="text" name='goodsName'>
    <input type="file" id="loadfile" class="imgInput" name="upfile" value="上传" multiple="multiple"/><br>



    <!--<img src="" class="img">
    <img src="" class="img img1">-->
    <div id="imgCont"></div>
    </form>
    <button id="sub">提交</button>

    <script type="text/javascript" src="js/jquery.min.js" ></script>
    <script>
    var curFiles=[];
    $(function(){
    $(".imgInput").change(function(){
    console.log($(this));
    // console.log(URL.createObjectURL($(this)[0].files.length));
    console.log(this.files.length);
    var files=this.files;
    if(files && files.length){
    Array.prototype.push.apply(curFiles,files);
    }
    console.log(curFiles);
    var len=this.files.length;
    var html="";
    for(var i=0;i<len;i++){
    html+='<img src="'+URL.createObjectURL($(this)[0].files[i])+'"'+
    'class="img"><span class="delImg" index="'+i+'">删除</span>'
    }
    $("#imgCont").html(html);
    demo();

    });



    })
    function demo(){
    $(".delImg").click(function(){
    var index=$(this).attr('index');
    delete curFiles[index];
    console.log(curFiles);
    $(this).prev().remove();
    $(this).remove();

    })

    }

    </script>
    <script>
    $(function(){

    $("#sub").click(function(){
    var data = new FormData($('#form')[0]);
    for(var i=0;i<curFiles.length;i++){
    data.append('files',curFiles[i]);
    }
    console.log('woshidata'+data);
    $.ajax({
    url:'morePic',
    method:'post',
    data:data,
    processData:false,
    contentType:false,
    success:function(data){

    }

    });


    });
    })
    </script>
    <br>


    </body>
    </html>

    后台代码

    import javax.servlet.annotation.MultipartConfig;
    import javax.servlet.http.HttpServletRequest;

    import org.springframework.stereotype.Controller;
    import org.springframework.web.bind.annotation.RequestMapping;
    import org.springframework.web.bind.annotation.ResponseBody;
    import org.springframework.web.multipart.MultipartFile;
    @MultipartConfig
    @Controller
    public class TestController {

    @ResponseBody
    @RequestMapping("morePic")
    public void morePic(MultipartFile[] files,HttpServletRequest request) {
    int i=0;
    for(MultipartFile file: files) {
    i++;
    String x=file.getOriginalFilename();
    System.out.println(x);
    }
    System.out.println(i);


    }


    }

    debug调试

    可以看到前端选了三个文件,我删除后再提交后台就只接收到了两个文件,于是关于ajax提交图片上传就成功了

  • 相关阅读:
    颜色转换
    颜色转换、随机、16进制转换、HSV
    ColorTransform调整显示对象的颜色值
    unity+统计代码总行数
    Unity加载json数据
    打不开unity编辑器界面,每次默认打开上一次项目,并且报错Error loading file:///C%3A%2FUsers%2FT01017%2FAppData%2FRoaming%2FUnity%2FPackages%2Fnode_modules%2F
    Unity 同一Text文本修改不同的字体大小和字体颜色,加空格
    Unity 限时使用 限制试用时间和使用次数
    unity更改文字透明度
    unity+动画状态机
  • 原文地址:https://www.cnblogs.com/changefl/p/10734184.html
Copyright © 2011-2022 走看看