ajax文件上传

jsp

                      <form  id="uploadForm" enctype="multipart/form-data" method="POST">
                            <div class="col-sm-4">
                                <input id="fileN" type="file" name="file">
                            </div>
                            <div class="col-sm-4 col-sm-offset-4">
                                <button type="button" class="btn btn-success btn-sm" onclick="upDatumCus()">导入</button>
                                <button type="button" class="btn btn-success btn-sm" id="export" data-type="csv"  >模板下载</button>
                            </div>
                        </form>

ajax:

function upDatumCus(){
    var formData = new FormData();
    formData.append('files',$("#fileN")[0].files[0]);
    $.ajax({
        type: 'POST',  
        url:"/ziliaoke/DatumCusLeading",
        encType: 'multipart/form-data',
        data:formData,
        contentType: false,  
        processData: false,
           success: function(data) {
          alert("数据保存成功");
       },
       error: function() {
           alert("Connection error");
       },
    });
}

controller:




    @ResponseBody
    @RequestMapping("/DatumCusLeading")
    public int DatumCusLeading(@RequestParam(value="files",required=false) MultipartFile file,HttpServletRequest request) throws Exception{
        int a= 0;
        InputStream fileInputStream  = file.getInputStream();
         a = fyDatumcustomerService.insertSelectiveDatumCus(fileInputStream);
        return a;  
    }
    
serverimpl:

    @Override
    public int insertSelectiveDatumCus(InputStream fileInputStream) {
           int a = 0;
          FyDatumcustomer fyDatumcustomer = new FyDatumcustomer();    
            try {
                List<String[]> datas =FileParseUtils.parseCSVFile(fileInputStream);
                for (String[] strings : datas) {
                    fyDatumcustomer.setZdcName(strings[0]);
                    fyDatumcustomer.setZdcPhone(strings[1]);
                    fyDatumcustomer.setZdcBranch(strings[2]);
                    fyDatumcustomer.setZdcPerson(strings[3]);
                    fyDatumcustomer.setZdcCreatetime(new Date());
                a = fyDatumcustomermapper.insertSelective(fyDatumcustomer);
                }
            } catch (IOException e) {
                e.printStackTrace();
            }
        return a;
    }

   
public final class FileParseUtils {
    public static List<String[]> parseCSVFile(InputStream in) throws IOException{
        CsvReader reader = null;
        List<String[]> dataList = null;
        try{
            reader = new CsvReader(in, CharsetUtils.get("GBK"));
            dataList = new ArrayList<String[]>();
            reader.readHeaders();
            while(reader.readRecord()){
                dataList.add(reader.getRawRecord().split(","));
                System.out.println(reader.getRawRecord());
            }
        }finally{
            if(null != reader){
                reader.close();
            }
        }
        return dataList;
    }
}




猜你喜欢

转载自blog.csdn.net/fjcsdn/article/details/77746131