基于SSH的博客系统问题集锦

最近学习跟着视频学习完SSH框架就开始在视频的基础上搭建了“我的空间”子系统,类似与一个博客系统展示,并搭建在了云服务器上.其中也遇到了不少问题,就在这里进行记录防止将来再次犯错。

  • 上传图片
    这次上传图片使用的是BootStrap的模态框,点击继续添加照片之后可以打开files进行选择这里写图片描述
    因此如果和原来处理的方法一样直接进行表单提交是会存在问题的,因为file标签在表单提交的时候只会保存最后一次图片的信息,那么在连续添加的过程中就不能正确进行图片的保存。
<img class="imgShow" src="${ctx}/images/blog/uploadImg.png" onclick="selectFile()" width="150px" height="150px">
<input type="file"  name="fileToUpload" id="fileToUpload" onchange="changImg(event)"
style="filter:alpha(opacity=0);opacity:0;width:0;height: 0;"/>
    如上面的代码所示,给file添加一个改变响应事件,当选取了图片进行上传时将图片信息保存在一个map中
function changImg(e){
        for (var i = 0; i < e.target.files.length; i++) {  
            var file = e.target.files.item(i);  
            if (!(/^image\/.*$/i.test(file.type))) {  
                continue; //不是图片 就跳出这一次循环  
            }  
            //实例化FileReader API  
            var freader = new FileReader();  
            freader.readAsDataURL(file);
            imgs[file.name] = file;//将图片信息以图片名称保存在map中,以供删除代码使用
            freader.onload = function(e) {
            var cImg = "<img class='imgShow' id="+file.name+" onclick='deleteImg(this)' src='"+e.target.result+"'  width='150px' height='150px'>";
                $("#mainImg").prepend(cImg);
            };
        }
      }

当用户按下上传按钮之后,使用FormData对图片进行保存。这里有一点需要提醒,由于我中途遇到一个问题:并不是每一次都能上传成功,后来开始检查的发现FormData中并没有保存file文件总觉得是这里写错了,查了很多资料后来才明白FormData中通过append添加的数据默认保存为私有数据并不对外公开。
使用异步进行保存的时候有几个特殊的参数需要添加:

    data:fd,
    type:"post",
    cache : false,
    processData : false, // 不处理发送的数据,因为data值是Formdata对象,不需要对数据做处理
    contentType : false, // 不设置Content-type请求头

在上传图片的功能中,有一个点一直没有解决!将file标签设置为multiple时可以进行多张图片同时选取,但是不知道为什么,如果删除其中一张再进行上传,传到后台的数据却是删除的那张!前台显示都没有问题,如果一张一张选取也没有问题,最后偷了一个懒就设置为每一次只能选取一张。如果有大神知道原因可以留言告诉我一下,谢谢拉~~
- 异步发表评论
异步刷新回复其实是一个比较常见的方法了,但是在这次后台传输到前台的json格式的数据却怎么都那不过来。后端我使用JSONObject函数进行对象和json的转换。由于之前一直将List对象放入json中的,一直都觉得直接放对象应该是一样的,但是直接放入传输到前端是A:{id:xxxx,name:xxx} 格式的,里面的信息怎么都取不出来,由于自己前端实在太差了所以被迫在后端创建了一个List进行保存。

网址为:我的空间github地址

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值