页面代码
<form id="upForm">
请选择文件:<input type="file" name="file1"><br /> 文件描述:
<textarea cols="70" rows="5" name="desc"></textarea>
<br /> <input type="button" id="btn" value="上传">
</form>
<script type="text/javascript">
Ext.onReady(function() {
Ext.MessageBox.alert("测试", "测试Ext是否运行");
Ext.get("btn").on("click", function() {
Ext.Ajax.request({
url : "FileUpServlet",
isUpload : true,
form : "upForm",
success : function(response) {
Ext.MessageBox.alert("上传成功", response.responseText);
}
});
});
});
</script>
后台servlet代码
public class FileUpServlet extends HttpServlet {
private static final long serialVersionUID = 1L;
public FileUpServlet() {
super();
}
@Override
public void service(ServletRequest request, ServletResponse response)
throws ServletException, IOException {
request.setCharacterEncoding("utf-8");
response.setCharacterEncoding("utf-8");
response.setContentType("text/html;charset=utf-8");
ServletContext ctx = this.getServletContext();
String userFilePath = ctx.getRealPath("userFile");
DiskFileItemFactory factory = new DiskFileItemFactory();
factory.setSizeThreshold(1024 * 1024);
factory.setRepository(new File(userFilePath));
ServletFileUpload upload = new ServletFileUpload(factory);
upload.setSizeMax(10 * 1024 * 1024);
try {
List<FileItem> fileItems = upload.parseRequest((HttpServletRequest) request);
System.out.println(fileItems.size());
Iterator<FileItem> iter = fileItems.iterator();
while (iter.hasNext()) {
FileItem fi = iter.next();
if (fi.isFormField()) {
String fieldName = fi.getFieldName();
String fieldvalue = fi.getString();
System.out.println("name:" + fieldName);
System.out.println("value:" + fieldvalue);
} else {
String filePath = fi.getName();
if (filePath != null) {
System.out.println(filePath);
}
if (StringUtil.isBlank(filePath)) {
continue;
}
String extensionName = filePath.substring(
filePath.lastIndexOf("."), filePath.length());
// String contentType = fi.getContentType();
// boolean isInMemory = fi.isInMemory();
// long sizeInBytes = fi.getSize();
String url = userFilePath +"\\"+ StringUtil.getUUID()
+ extensionName;
File uploadedFile = new File(url);
if (!uploadedFile.exists()) {
uploadedFile.getParentFile().mkdirs();
}
fi.write(uploadedFile);
}
}
PrintWriter out = response.getWriter();
out.print("创建成功");
out.flush();
out.close();
} catch (Exception e) {
e.printStackTrace();
}
}
}
分享到:
相关推荐
Ext3-Js-Ajax框架-分页标签-自动排序-文件上传Ext-Js-Ajax框架-分页标签-自动排序-文件上传Ext-Js-Ajax框架-分页标签-自动排序-文件上传Ext-Js-Ajax框架-分页标签-自动排序-文件上传Ext-Js-Ajax框架-分页标签-自动...
一个开源的JSP网盘程序,运用Struts Ext2上传文件,可视化操作。因环境较复杂,没有测试,不过从源码结构来看好像很完整,而且源代码也很新,可以作为学**JSP下的AJAX技术有帮助,源码中包含类的源文件。
1、 完全的AJAX方式用户体验好 2、 多文件可一次选定并添加 3、 文件添加后仍然可以有禁止上传的操作,更方便 4、 客户端和服务器端采用了direct数据交互方式,此控件移植到PHP或JAVA几乎无需对客户端进行修改
Web2.0,是相对Web1.0的新的一类互联网应用的统称。由Web1.0单纯通过网络浏览器浏览html网页模式向内容更丰富、联系性更强、工具性更强的Web2.0互联网模式的发展已经成为互联网新的发展趋势。
/** 代码如下: * 第一种Ajax提交方式 * 这种方式需要直接使用ext Ajax方法进行提交 * 使用这种方式,需要将待传递的参数进行封装 * @return */ function saveUser_ajaxSubmit1() { Ext.Ajax.request( { url : ‘user...
4.9. 还要做文件上传哟 4.10. 非想非想,单选框多选框 4.10.1. 多选呢checkbox 4.10.2. 单选呢radio 4.11. 自动把数据填充到form里 5. 雀跃吧!超脱了一切的弹出窗口。 5.1. 呵呵~跳出来和缩回去总给人惊艳的感觉。 ...
4.9. 还要做文件上传哟 4.10. 非想非想,单选框多选框 4.10.1. 多选呢checkbox 4.10.2. 单选呢radio 5. 雀跃吧!超脱了一切的弹出窗口。 5.1. 呵呵~跳出来和缩回去总给人惊艳的感觉。 5.2. 先看看最基本的三个例子...
new AjaxUpload(button, { action: 'servlet/import', name: 'newFileName',//更改上传的文件名 data : { 'key1' : "7月份", 'key2' : "8月份", 'key3' : "9月份" }, onSubmit : function...
8.2.4 使用DirectSubmit上传文件 235 8.3 Grid组件 238 8.3.1 一个结合DataWrite和RowEditor的Grid示例 238 8.3.2 在CRUD操作中restful的设置以及使用Ext.Direct的问题 247 8.4 ListView控件 248 8.5 本章小结 251 ...
用EXT+struts2+spring+hibernate做...另外因包太多无法上传,所以请大家自己在myeclipse里面加上spring和hibernate,struts2运行的jar包,jar列表请看根目录下面的txt文件。另外,不会使用的不要再后面骂人,很无趣的!
本文实例为大家分享了PHP AjaxForm提交图片上传并显示图片的具体代码,供大家参考,具体内容如下 PHP dofile.php 文件上传源码 <?php $file_upload = "upload/"; $file_allow_ext='gif|jpg|jpeg|png|gif|zip|rar...
项目中会经常用到AJAX无刷新上传图片,但是iframe上传和flash插件都是比较复杂的,所以就找了一个jquery的插件。 代码如下 使用方法如下 [removed] $(function () { var button = $('#upload'); new AjaxUpload...
4.9. 还要做文件上传哟 4.10. 非想非想,单选框多选框 4.10.1. 多选呢checkbox 4.10.2. 单选呢radio 5. 雀跃吧!超脱了一切的弹出窗口。 5.1. 呵呵~跳出来和缩回去总给人惊艳的感觉。 5.2. 先看看最基本的三个...
因为很多人同时上传文件的话,不同文件的钩子不能相同啊。系统会把 APC_UPLOAD_PROGRESS域的值前面加上'upload_'生成钩子名称。在其它的php程序中就可以用apc_fetch()这个函数得到该文件的一系列信息了。假设APC_...
7.2.5 使用ajax处理数据的代理:ext.data.proxy.ajax与ext.data.proxy.rest / 308 7.2.6 跨域处理数据的代理:ext.data.proxy.jsonp / 312 7.2.7 为ext.direct服务的代理:ext.data.proxy.direct / 312 7.2.8 ...
好东西拿出来大家分享,可以用做多文件上传的组建
有人说少了17个jar,那些jar与工程无关,从classpath里面去掉就好了,可能下载这位仁兄也是新手吧,再有就是两个没用的类文件直接删除即可,至于extjs自己带的js和样式文件没有上传考虑是会增加上传文件大小, ...
Ext.net1.2.0(使用Ext.net搭建了整个系统框架、Ajax模型) DotLucenc2.0.0.2(实现全文检索) PDFBox1.6(实现PDF文件的读取) KindEditor 4.0.6(实现在线编辑) strawberry 0.1.7(实现流程绘制)...
后台界面采用ajax框架ext非常漂亮。可以管理多个社团网站。采用jfreechart显示社团人数对比。社团申请会在服务器端生成pdf申请表格(带有照片)由于上传限制只能分两次传,请见谅,不过不会让你失望的。这一部分不...