java鬼混笔记:jsp上传文件不跳转页面
来源:互联网 发布:mt4外汇交易系统源码 编辑:程序博客网 时间:2024/06/07 21:45
要两个页面,原理是:比如index.jsp是主页 主页里有个iframe(隐藏的,)iframe里有个small.jsp ,small.jsp里有个form, form里有个<input type="file" name="file"/> 这个是用来选择上传文件的,都懂吧。接下来,index.jsp点击按钮(index.jsp上有个按钮),按钮触发small.jsp中的form的<input type="file" name="file"/>这个元素的点击事件,这时就弹出一个选择文件框(很正常) .虽然iframe是隐藏的,但是弹出的文件选择框可以在index.jsp中看到的。这时你选中你要上传的文件(这里以图片为例),然后就触发一个方法(方法是small.jsp中),这个方法的作用是对small.jsp中的form表单进行一个submit事件,这样子,你选中的文件就上传了,全都在small.jsp中操作,完全不影响index.jsp(index.jsp唯一能做的就是选择文件),实现了index.jsp页面选择文件上传而不跳转功能。如图:
效果图:
代码:
index.jsp
<body><input type="button" value="上传文件" onclick="upload()"/><p id="name">文件名:</p><p id="size">文件大小:</p><img id="path" src="" width="300" height="300"><iframe id="myIframe" name="myIframe" src="small.jsp" style="display: none;"></iframe><script type="text/javascript">function upload(){myIframe.window.startUpload(); }</script></body>small.jsp
<body onload="bbc()"><center><form id="myForm" action="<%=basePath%>upload/start.do" enctype="multipart/form-data" method="post"><input type="file" name="file" id="file" onchange="upload()"/><input type="submit" value="gogogo" /></form></center><input type="hidden" name="name" value="${name}" id="name"/><input type="hidden" name="size" value="${size}" id="size"/><input type="hidden" name="path" value="${path}" id="path"/><script type="text/javascript">function startUpload(){$('input[name="file"]').click();//触发 id="file"的元素的点击事件 就弹出那个选择文件的框}//在文件选择框选中文件后 开始上传function upload(){$('#myForm').submit();}function bbc(){$(window.parent.document).find('#name').text('文件名:'+$('#name').val());$(window.parent.document).find('#size').text('文件大小:'+$('#size').val());$(window.parent.document).find('#path').attr('src',$('#path').val());}</script></body>后台代码:
@Controllerpublic class MyUpload {@Autowiredprivate HttpServletRequest request;@RequestMapping("/upload/start")//@RequestParam("file")中上file对应的是input元素中的name="file"public String upload(@RequestParam("file") MultipartFile file) throws Exception{//路径D://abc.jpg(假设我上传的是abc.jpg图片)String path = request.getServletContext().getRealPath("/")+"images"+File.separator+file.getOriginalFilename();request.setAttribute("name", file.getOriginalFilename());//上传文件名request.setAttribute("size", file.getBytes().length);//上传文件大小request.setAttribute("path", "images"+File.separator+file.getOriginalFilename());//上传路径File ff = new File(path);file.transferTo(ff);return "small";}}
阅读全文
0 0
- java鬼混笔记:jsp上传文件不跳转页面
- HTML上传文件(不跳转页面)
- 利用FormData上传文件不跳转页面
- java鬼混笔记:页面验证码生成
- jquery.form 上传文件,且完成后页面不跳转
- jsp页面文件上传
- java鬼混笔记:用Spring的ResponseEntity进行文件下载
- Spring MVC 实现文件上传及压缩包上传(提交之后页面不跳转)
- java jsp 实现页面跳转
- java web jsp 页面跳转
- java鬼混笔记:maven操作
- JSP 页面实现文件上传
- jsp页面上传csv文件
- jspsmart实现页面不跳转上传和下载文件(一)
- jspsmart实现页面不跳转上传和下载文件(二)
- 上传文件 JSP+java
- 文件上传 java jsp
- Java Servlet(数据传输 页面跳转 jsp)
- 巧用Scanner将InputStream转成String
- win32汇编 函数返回值在eax寄存器中
- 如何在chrome浏览器下设置12px以下的字体
- JavaScript的事件机制
- LabView——计算三角形面积
- java鬼混笔记:jsp上传文件不跳转页面
- 游戏中的碰撞检测
- Perfect Squares
- Android iptables使用
- 不用加减法做加法
- Leetcode485. Max Consecutive Ones
- 移动端自动化主力 之 Appium
- 【dp每一天】HDU
- 笔记