DWR实现无刷新上传
来源:互联网 发布:python sys 用法 编辑:程序博客网 时间:2024/04/20 09:29
这里需要用到commons-fileupload-1.2.2和commons-io-2.3
This is the web.xml
<?xml version="1.0" encoding="UTF-8"?><web-app version="2.5" xmlns="http://java.sun.com/xml/ns/javaee"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"><servlet><servlet-name>dwr-invoker</servlet-name><servlet-class>org.directwebremoting.servlet.DwrServlet</servlet-class><!-- 配置debug参数为true后,就可以访问DWR的控制台了,访问地址为http://ip:port/webApp/dwr/ --><!-- 开发阶段可以开启控制台,但在产品交付时,务必关掉控制台 --><init-param><param-name>debug</param-name><param-value>true</param-value></init-param></servlet><servlet-mapping><servlet-name>dwr-invoker</servlet-name><url-pattern>/dwr/*</url-pattern></servlet-mapping></web-app>
This is DWR Config File----dwr.xml
<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE dwr PUBLIC "-//GetAhead Limited//DTD Direct Web Remoting 3.0//EN""http://getahead.org/dwr/dwr30.dtd"><dwr><allow><create creator="new" javascript="JSUserManager"><param name="class" value="com.jadyer.dwr.UserManager" /></create></allow></dwr>
下面是用于提交上传操作的前台页面upload.jsp
<%@ page language="java" pageEncoding="UTF-8"%><script type="text/javascript" src="<%=request.getContextPath()%>/dwr/interface/JSUserManager.js"></script><script type="text/javascript" src="<%=request.getContextPath()%>/dwr/engine.js"></script><script type="text/javascript" src="<%=request.getContextPath()%>/dwr/util.js"></script><script type="text/javascript">function upload() {var file = dwr.util.getValue("myfile");alert(file.value);//不同浏览器在此处得到的值,不一定相同....IE9得到的是含全路径的文件名,firefox12得到的是文件名alert(file);JSUserManager.upload(file, file.value, function(data){alert(data);});}</script><input type="file" id="myfile"/><input type="button" value="上传文件" onclick="upload()"/>
最后是需要由DWR发布的UserManager.java
package com.jadyer.dwr;import java.io.File;import java.io.IOException;import java.io.InputStream;import javax.servlet.http.HttpServletRequest;import org.apache.commons.io.FileUtils;import org.apache.commons.io.FilenameUtils;import org.directwebremoting.WebContextFactory;public class UserManager {/** * 上传文件 * @param is DWR会自动把dwr.util.getValue("myfile")转换为这里所需的InputStream * @param filename 不同浏览器传进来的值未必相同,IE9传是含全路径的文件名,firefox12传的是文件名 * @return 文件的真实名字 */public String upload(InputStream is, String filename) throws IOException{String realname = FilenameUtils.getName(filename); //获取文件的真实名字HttpServletRequest request = WebContextFactory.get().getHttpServletRequest(); //获取Servlet APIString realpath = request.getSession().getServletContext().getRealPath("/WEB-INF/upload");FileUtils.copyInputStreamToFile(is, new File(realpath, realname));return realname;}}
补充:记得建立//WEB-INF//upload//目录,其用于接收所上传的文件
- DWR实现无刷新上传
- dwr学习3-无刷新文件上传
- DWR无刷新文件上传简单实例
- 实现无刷新上传文件
- JSP实现无刷新上传
- dwr无刷新分页
- DWR无刷新分页
- Spring整合DWR comet 实现无刷新 多人聊天室
- 使用DWR+Dtree实现无刷新树形菜单
- Spring整合DWR comet 实现无刷新 多人聊天室
- Spring整合DWR comet 实现无刷新 多人聊天室
- Spring整合DWR comet 实现无刷新 多人聊天室
- Spring整合DWR comet 实现无刷新 多人聊天室
- Spring整合DWR comet 实现无刷新 多人聊天室
- Spring整合DWR comet 实现无刷新 多人聊天室
- Spring整合DWR comet 实现无刷新 多人聊天室
- Spring整合DWR comet 实现无刷新 多人聊天室
- Spring整合DWR comet 实现无刷新 多人聊天室
- PHP 获取WindowOS下MAC地址
- hive 中的排序优化
- 两分钟让你明白什么是ERP!——把专业的问题通俗化!(经典中的经典)
- Android在加载大图片时,易出现内存溢出的情况 解决方案一
- spring 任务调度总结
- DWR实现无刷新上传
- openfilename打开文件对话框的使用
- iOS官方Sample大全
- Apache无法启动
- jsp路径深入研究<转载>
- Linux软连接和硬链接
- linux升级笔记,ATI闭源显卡驱动,解决发热问题
- 基于ACE网络编程配置
- VBScript在服务器上创建目录