ssm图片的上传下载以及显示问题

这里写图片描述




图片上传






</head>

<body>
    <button type="button" class="layui-btn" id="test3"><i class="layui-icon"></i>上传图片</button>
    <div id="div"></div>
</body>
<script type="text/javascript" src="../lib/jquery-2.1.4.min.js"></script>
<script src="../treetable/jquery.treetable.js"></script>
<script type="text/javascript" src="../lib/layui/layui.js"></script>
<script type="text/javascript" src="../lib/layui/layui.all.js"></script>
<script>
    layui.use('upload', function(){
      var $ = layui.jquery
      ,upload = layui.upload;
       var uploadInst = upload.render({
         elem: '#test3'
         ,url: glabalApiPath+"/layuiUpload.do"
         ,accept: 'file' //普通文件
         ,async:true
         ,before: function(obj){ 
         obj.preview(function(index, file, result){
            $('#img-preview').attr('src', result); //图片链接(base64)
          });
        }
         ,done: function(res, index, upload){
        if(res.code==0){
             alert(res.message);
        }else{
            alert(res.message);
        }
}

});
});
这里写图片描述


后台代码
@Controller
public class UpLoadController {
@Autowired
ImgService imgService;
@RequestMapping(value = “layuiUpload.do”)
public @ResponseBody LayuiUpLoadReturn uploadTest1(@RequestParam(“file”) MultipartFile file,HttpServletRequest request) {
if (file == null && file.isEmpty()) {
return new LayuiUpLoadReturn(-1,”没有文件”,null);
}

    String fileName = System.currentTimeMillis()+".jpg"; //+ file.getOriginalFilename();    //  获取传输过来的文件名字  + 当前时间戳  避免重复
    System.out.println(fileName);

    //if ("jpg,png,".contains(fileName.split("\\.")[1])) {  //  根据文件的后缀判断保存再哪个文件夹下
      if(file!=null){
        //File imageDir = new File(System.getProperty("catalina.home") + File.separator + "webapps" + File.separator + "images");
          File imageDir = new File(request.getSession().getServletContext().getRealPath("/images"));
        if (!imageDir.exists()) {
            imageDir.mkdirs();
        }
        //File imagePath = new File(System.getProperty("catalina.home") + File.separator + "webapps" + File.separator + "images" + File.separator + fileName);
        File imagePath = new File(request.getSession().getServletContext().getRealPath("/images") + File.separator + fileName);
        System.out.println(imagePath+"cchcch");
        try {
            file.transferTo(imagePath);
            Img img = new Img();
            img.setName(fileName);
            imgService.insert(img);
            return new LayuiUpLoadReturn(0,"保存成功",fileName);
        } catch (IllegalStateException | IOException e) {
            return new LayuiUpLoadReturn(-1,"保存失败!",e.getMessage());
        }       //  保存图片
    }
    return new LayuiUpLoadReturn(0,"保存成功",fileName);
}
/**
 * 
 * @param request
 * @param response
 * @throws IOException 
 */
@RequestMapping("/imgDown")
@ResponseBody
public JsonResult imgDown(String name,HttpServletRequest request,HttpServletResponse response) throws IOException{
        String returnUrl = request.getSession().getServletContext().getRealPath("/images/")+name;                   
                             //Tomcat 安装目录
        //String returnUrl = System.getProperty("catalina.home") + File.separator + "webapps" + File.separator + "images"+File.separator +name;
        System.out.println(returnUrl);
        //获取输入流
        InputStream bis = new BufferedInputStream(new FileInputStream(new File(returnUrl)));
        //假如以中文名下载的话
        returnUrl = URLEncoder.encode(returnUrl,"UTF-8");
        //设置文件下载头
        response.addHeader("Content-Disposition", "attachment;filename=" + returnUrl);  
        //1.设置文件ContentType类型,这样设置,会自动判断下载文件类型  
        response.setContentType("multipart/form-data");
        BufferedOutputStream out = new BufferedOutputStream(response.getOutputStream());
        int len = 0;
        while((len = bis.read()) != -1){
            out.write(len);
            out.flush();
        }
        out.close();
        return new JsonResult(0, true, "下载成功", null);
}
/**
 * 
 */
@RequestMapping("showPhoto")
@ResponseBody
public JsonResult showPhoto() {
    JsonResult result = new JsonResult();
    List<Img> list = imgService.selectAll();
    List<Img> imglist = new ArrayList<Img>();
    Map<String,Object> map = new HashMap<String,Object>();
    for (Img img : list) {
        /*String name = System.getProperty("catalina.home") + File.separator + "webapps" + File.separator + "images"+File.separator +img.getName();
        System.out.println(name);
        img.setName(name);*/
        imglist.add(img);
    }
    if(list.size()!=0){
        result.setCode(0);
        result.setMessage("查询成功");
        result.setSuccess(true);
        result.setValue(imglist);
    }else{
        result.setCode(-1);
        result.setMessage("无数据");
        result.setSuccess(false);
        result.setValue(imglist);
    }
    return result;

}

}

猜你喜欢

转载自blog.csdn.net/sijielai6273/article/details/82662920