ssm框架图片上传问题

原创 2018年04月17日 16:24:14

jsp

<script>
    layui.use("upload",function(){
        var upload = layui.upload;
         var uploadInst = upload.render({
                elem: '#test1'
                ,url: '/jyals/upload/images'
                ,before: function(obj){
                  //预读本地文件示例,不支持ie8
                  obj.preview(function(index, file, result){
                    $('#demo').attr('src', result); //图片链接(base64)
                  });
                }
                ,done: function(res){
                  //上传成功
                if (res.code == 0) {
                    layer.msg("上传成功!");
                    $("#imageName").val(res.fileId);
                    $("#picId").val(res.fileName);
                    $("#picName").val("gktp");
                    $("#picAdress").val(res.filePath);
                    $("#picType").val(res.fileType);
                    console.log(res.filePath);
                }else{
                    layer.msg("上传失败!");
                }
                }
                ,error: function(){
                  //演示失败状态,并实现重传
                  var demoText = $('#demoText');
                  demoText.html('<span style="color: #FF5722;">上传失败</span> <a class="layui-btn layui-btn-mini demo-reload">重试</a>');
                  demoText.find('.demo-reload').on('click', function(){
                    uploadInst.upload();
                  });
                }
              });
    });
    </script>

upload

@RequestMapping(value="/images",method = RequestMethod.POST)
    @ResponseBody
    public JSONObject uploadImage(MultipartFile file,HttpServletRequest request,HttpSession session){
        /**
         * 仅服务器端保存文件,数据库端由表单上传具体处理保存
         */
        JSONObject json = new JSONObject();
        String orPath = request.getSession().getServletContext().getRealPath("/opt/tomcat/lbpic/");
        //对文件进行保存并且生成名称
        try{
            //成功
            json = baseServiceImpl.uploadlbFile(file, orPath,session,request);
            json.put("code", 0);            
        }catch (Exception e) {
            //失败            
            json.put("code", 1);
            e.printStackTrace();

        }   
        return json;
    }
layui
layedit.set({
          uploadImage: {
            url: '/jyals/upload/imgs' //接口url
            ,type: 'post' //默认post
            ,done : function(res, index, upload) {
                //上传完毕的回调函数
                if (res.code == 0) {
                    layer.msg("上传成功!");
                    $("#imageName").val(res.fileId);
                    console.log(res.filePath);
                } else {
                    layer.msg("上传失败!");
                    $('#tpyl').html("");
                }

            }
          }
        });
    //创建一个编辑器
    var editIndex = layedit.build('LAY_demo_editor');
@RequestMapping(value="/imgs",method = RequestMethod.POST)
    @ResponseBody
    public JSONObject uploadImgs(MultipartFile file,HttpServletRequest request,HttpSession session){
    /**
     * 仅服务器端保存文件,数据库端由表单上传具体处理保存
     */
    JSONObject json = new JSONObject();
    JSONObject json1 = new JSONObject();
    String orPath = request.getSession().getServletContext().getRealPath("/opt/tomcat/pic/");
    //对文件进行保存并且生成名称
    try{
        //成功
        json.put("code", 0);    
        json1=baseServiceImpl.uploadFile(file, orPath,session,request);
        JSONObject data = new JSONObject();
        String filename = json1.getString("fileName");
        String name = filename.substring(0,16);
        String path = "http:/jyals/uploadImages/";
        data.put("src",path+filename);
        json.put("data", data);

    }catch (Exception e) {
        //失败            
        json.put("code", 1);
        json.put("msg", "fail");
        e.printStackTrace();

    }   
    return json;
    }
    }

BaseServiceImpl

public JSONObject uploadlbFile(MultipartFile file, String path, HttpSession session, HttpServletRequest request)
            throws Exception {
        // 生成一个文件名16位数字+字母
        String fileRandomNameId = Integer.toHexString(new Random().nextInt());
        fileRandomNameId += Integer.toHexString(new Random().nextInt());
        String fileRandomName = Integer.toHexString(new Random().nextInt());
        fileRandomName += Integer.toHexString(new Random().nextInt());
        String realName = file.getOriginalFilename();
        String suffixName = realName.substring(realName.lastIndexOf("."));
        fileRandomName += suffixName;
        path = "/opt/tomcat/lbpic/";
        File tempFile = new java.io.File(path, fileRandomName);
        if (!tempFile.getParentFile().exists()) {
            tempFile.getParentFile().mkdirs();
        }
        if (tempFile.exists()) {
            tempFile.delete();
        }
        // tempFile.createNewFile();
        // file.transferTo(tempFile);
        session = request.getSession();
        session.setAttribute("picname", tempFile);
        session.setAttribute("multpart", file);
        session.setAttribute("path", path);
        session.setAttribute("fileName", fileRandomName);
        // 封装文件的信息
        JSONObject fileInfor = new JSONObject();
        fileInfor.put("fileId", fileRandomNameId);
        fileInfor.put("fileName", fileRandomName);
        fileInfor.put("fileType", suffixName);
        fileInfor.put("filePath", tempFile.getAbsolutePath());
        return fileInfor;
    }
版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/qq_38087648/article/details/79976670

基于ssm的上传图片

原创地址:http://blog.csdn.net/qq_33764491/article/details/77440180 第一次接触上传图片,自己还是很头疼的。大佬的帮助和网上的资料着实...
  • tigerhu256
  • tigerhu256
  • 2017-09-28 09:53:27
  • 3111

ssm框架下fileupload图片上传实践

参考这篇博客操作http://blog.csdn.net/jronzhang/article/details/612107001、加入两个jar包,commons-fileupload-1.3.jar...
  • luyiluba
  • luyiluba
  • 2017-07-05 13:01:51
  • 8793

基于SSM框架的图片上传并回显

  • 2018年01月10日 18:19
  • 17.99MB
  • 下载

ssm框架上传图片保存到本地和数据库

ssm框架上传图片保存到本地和数据库
  • xiaowei5246879
  • xiaowei5246879
  • 2017-02-10 09:30:32
  • 10377

ssm框架练习之文件上传

文件上传在项目中使用的频率也是很高的,思路非常简单,但是实现起来,我因为路径问题,调试了很久,花费了许多不必要的时间,所以,在这里提出来,和大家分享一下 因为我们项目中多处用到了文件上传,所以,我把...
  • qiuqiu_qiuqiu123
  • qiuqiu_qiuqiu123
  • 2017-06-22 14:18:03
  • 3397

ssm项目上传图片

把图片的路径名作为varchar型保存到数据库中。显示的时候就到数据库中查找路径名,处理后赋值给的src属性 然后是同过IO流把图片作为文件保存到服务器upload文件夹,具体实现: 1.添加对应的j...
  • dulonghao
  • dulonghao
  • 2017-10-10 20:24:23
  • 907

SSM配置Ueditor实现图片的上传<一>

最近想学点新的东西,于是琢磨着用SSM整合Ueditor来实现图片的上传!至于为什么选Ueditor,道理你懂得啦!百度开发的而且开源,能自定义自己想要的内容,版本更新什么的也比较勤快!接下来我准备记...
  • qq_34292044
  • qq_34292044
  • 2017-05-14 16:47:45
  • 4293

ssm 框架上传图片到服务器

**1.html部分2.JS部分var _csrf = $("meta[name='_csrf']").attr("content"); *//请求令牌(不同项目定义不 同,看架构)* v...
  • yueyishuxueyan
  • yueyishuxueyan
  • 2017-06-21 17:19:52
  • 1068

SSM用户信息上传图片

  • 2017年09月12日 21:43
  • 8.58MB
  • 下载

SSM框架实现图片上传到工程目录下的upload文件夹与图片回显

一、工程目录如下:二、上传测试页面-register.jsp:&amp;lt;%@ page language=&quot;java&quot; contentType=&quot;text/html...
  • u012430402
  • u012430402
  • 2018-03-24 14:54:35
  • 166
收藏助手
不良信息举报
您举报文章:ssm框架图片上传问题
举报原因:
原因补充:

(最多只允许输入30个字)