天天看點

單張圖檔上傳與回顯

js代碼:

            doUpload:function(){

                var formData = new FormData($("#uploadForm")[0]);  

                $.ajax({  

                     url: '../banner/upPic.do' ,  

                     type: 'POST',  

                     data: formData,  

                     async: false,  

                     cache: false,  

                     contentType: false,  

                     processData: false,  

                     success: function (data) {

                         banner.defaultOption.img=data.resData;

                         $("#scrollPic").attr("src","../upload/"+data.resData);

                     },  

                     error: function (returndata) {  

                         console.log(returndata);  

                     }  

                });  

            },

背景代碼

@RequestMapping(value = "/headPic")

    public String headPic(HttpServletRequest request) throws Exception {

        log.info(GlobalContract.LOG_BEGIN);

        ResultVO resultVO = null;

        //擷取圖檔類

        MultipartRequest muRequest = (MultipartRequest) request;

        MultipartFile muFile = muRequest.getFile("headPic");

        if (!muFile.isEmpty()) {

            //建立檔案儲存路徑

            String uploadPath = request.getSession().getServletContext()

                    .getRealPath("/upload");

            //擷取原始檔案名

            String originalName = muFile.getOriginalFilename();

            //切割保留字尾名,起新名

            int beginIndex = originalName.lastIndexOf(".");

            String suffix = originalName.substring(beginIndex);

            String newName = new Date().getTime() + suffix;

            //檔案寫入

            File uploadFile = new File(uploadPath + File.separator + newName);

            try {

                FileUtils.copyInputStreamToFile(muFile.getInputStream(),

                        uploadFile);

                resultVO=new ResultVO();

                //傳回新檔案名

                resultVO.setResData(newName);

            } catch (IOException e) {

                e.printStackTrace();

                resultVO = new ResultVO(GlobalMessage.MSG_01);

                log.error("錯誤參數:" + originalName);

                log.error("錯誤資訊:" + e.getMessage());

            }

        } else {

            resultVO=new ResultVO();

            resultVO.setResData("defeat");

        }

        log.info(GlobalContract.LOG_END);

        return JSONObject.fromObject(resultVO).toString();

    }