往同一張表中的不同字段分別添加圖片路徑(既多張圖路徑上傳到不同的字段上)

在form表單上注意enctype=”multipart/form-data”屬性
和上傳字段的name屬性要起相同的名字,如:在學生表中的頭像和附件兩個字段上添加圖片,那麼在兩個input中name的名字一樣,可以都叫file,
頁面上的內容:

<input type="file" name="file" id="file" onchange='PreviewImage(this)'/>上傳照片</a>
<input type="file" name="file" id="file" onchange='PreviewImage(this)'/>上傳照片</a>
@RequestMapping(value="/addMechanics",method=RequestMethod.POST)
    public ModelAndView addMechanics(@RequestParam(value = "file", required = false) MultipartFile[] files,
            HttpServletRequest request) throws Exception{
        ModelAndView mv=new ModelAndView();
        PageData pd=this.getPageData();
        String equ_num=request.getParameter("equ_num");
        String equ_name=request.getParameter("equ_name");



        pd.put("equ_num", equ_num);
        pd.put("equ_name", equ_name);


        //圖片上傳路徑
        String Imgpath = "";//自定義圖片的訪問路徑(要寫上,不能爲空)
        String filepath = "";//自定義文件的保存路徑(要寫上,不能爲空)

        int filenumber = 1;

        for(MultipartFile file : files){
            String fileName="";
            String originalFilename = file.getOriginalFilename();

            if(!file.isEmpty()){
                UUID uuid = UUID.randomUUID();
                fileName=uuid+originalFilename;//格式化上傳圖片的名字
                file.transferTo(new File(filepath,fileName));
                fileName = Imgpath + '/' + fileName;
            }
            //能夠實現該功能的關鍵點
            if(filenumber==1){
                pd.put("equ_photo", fileName);
            }
            if(filenumber==2){
                //1是頭像照片,2是附件照片
                pd.put("maintain_file",fileName);
            }

            filenumber++;
        }

        this.sysMechanicsService.addMechanics(pd);
        mv.addObject("pd", pd);
        mv.setViewName("save_result");
        return mv;
    }
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章