ajax上传组件
BJUI框架的异步上传组件功能。
初始化:
1、Data属性:div添加属性data-toggle="upload"后可触发上传组件。
示例代码:
<div class="bjui-pageContent">
<script type="text/javascript">
function doc_upload_success(file, data) {
var json = $.parseJSON(data) $(this).bjuiajax('ajaxDone', json);
if (json[BJUI.keys.statusCode] == BJUI.statusCode.ok) {
$('#doc_pic').val(json.filename);
$('#doc_span_pic').html('已上传图片:<img src="'+ json.filename +'" width="100">');
}
}
</script>
<div style="display:inline-block;vertical-align: middle">
<div id="doc_pic_up" data-toggle="upload" data-uploader="${pageContext.request.contextPath}/upload" data-file-size-limit="102400000" date-file-type-exts="*.jpg;*.png;*.git;*.mpg" date-multi="false"
data-on-upload-success="doc_upload_success" data-icon="could-upload"></div>
<input type="hidden" name="doc.pic" value="" id="doc_pic">
</div>
<span id="doc_span_pic"></span>
2、jqueryAPI
$(div).upload(options)
参数(options)
| 名称 | 类型 | 默认值 | 描述 |
| uploader | string | null | 【必选】D-Url上传处理URL |
| formData | object | {} | 【可选】发送到服务端的额外数据 |
| fileTypeExts | string | *.jpg;*.png | 【可选】限制上传文件类型,多个以;分隔 |
| fileObjectName | string | file | 【可选】服务端收到的file域名称 |
| buttonText | string | 选择上传文件 | 【可选】上传按钮的名称 |
| auto | boolean | false | 【可选】是否开启自动上传 |
| multi | boolean | false | 【可选】是否支持一次性选择多个上传文件 |
| fileSizeLimit | int | 204800 | 【可选】上传文件大小限制,单位KB |
| onUploadSuccess | function(file,data,$element)null | null | [必选]上传成功时的回调函数,data是服务端返回的JSON数据,$element是触发上传的jquery对象 |
| dragDrop | boolean | false | 【可选】HTML5专用 是否开启拖动上传,开启后,将文件拖动到按钮即可上传 |
| previewImg | boolean | true | 【可选】HTML专用 是否预览上传图片 |
| previewLoading | string | null | 【可选】HTML5专用 载入预览图片前显示的loading图标,previewImg=true时生效 |
| icon | string | null | 【可选】HTML5专用 上传按钮的图标 |
回调函数的JSON参数
| 名称 | 类型 | 描述 |
| statusCode | int | 【必选】。状态码(ok=200,error=300,timeout=301),可以在BJUI.init时配置三个参数的默认值 |
| message | string | 可选 提示信息内容 |
| filename | string | 可选 上传成功后的文件名或路径 |
通过这些参数你可以发现,你必须json值。
我的servlet代码:
package com.servlet; import javax.servlet.ServletException;
import javax.servlet.annotation.MultipartConfig;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.Part;
import java.io.IOException;
import java.io.PrintWriter; /**
* Created by Administrator on 2016/11/20.
*/
@MultipartConfig(location = "D:\\temp")
@WebServlet(name = "UploadServlet",urlPatterns = "/upload")
public class UploadServlet extends HttpServlet {
public void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
request.setCharacterEncoding("utf-8");
response.setCharacterEncoding("utf-8");
response.setContentType("text/html;charset=utf-8");
Part part=request.getPart("file");
String disposition = part.getHeader("content-disposition");
System.out.println(disposition);
String fileName = disposition.substring(disposition.lastIndexOf("=")+2, disposition.length()-1);
String mds=request.getServletContext().getRealPath("/WEB-INF/upload");
String fileType = part.getContentType();
long fileSize = part.getSize();
System.out.println(fileType+"--"+fileSize+"--"+fileName);
part.write(mds+"/"+fileName);
PrintWriter out= response.getWriter();
out.print("{\"statusCode\":\"200\",\"message\":\"上传成功!\",\"filename\":\""+fileName+"\"}");
out.flush();
} public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
doPost(request,response);
}
}
ajax上传组件的更多相关文章
- Ajax的原理及Django上传组件
title: Ajax的原理及Django上传组件 tags: Django --- Ajax的原理及Django上传组件 Ajax的原理 ajax 是异步JavaScript和xml ajax就是向 ...
- Web Uploader - 功能齐全,完美兼容 IE 的上传组件
文件上传是网站和 Web 应用程序的常用功能,一直没有一款完美的文件上传组件,因此让很多开发人员碰到头疼的浏览器兼容问题. WebUploader 是由 Baidu FEX 团队开发的一款以 HTML ...
- 异步文件上传组件 Uploader
Uploader是非常强大的异步文件上传组件,支持ajax.iframe.flash三套方案,实现浏览器的全兼容,调用非常简单,内置多套主题支持 和常用插件,比如验证.图片预览.进度条等,广泛应用于淘 ...
- Flash上传组件之SWFUpload文件上传
一.什么是SWFUpload? SWFUpload是一个客户端文件上传工具,最初由Vinterwebb.se开发,它通过整合Flash与JavaScript技术为WEB开发者提供了一个具有丰富功能继而 ...
- 框架基础:ajax设计方案(三)---集成ajax上传技术
之前发布了ajax的通用解决方案,核心的ajax发布请求,以及集成了轮询.这次去外国网站逛逛,然后发现了ajax level2的上传文件,所以就有了把ajax的上传文件集成进去的想法,ajax方案的l ...
- Baidu WebUploader 前端文件上传组件的使用
简介 WebUploader是由Baidu WebFE(FEX)团队开发的一个简单的以HTML5为主,FLASH为辅的现代文件上传组件.在现代的浏览器里面能充分发挥HTML5的优势,同时又不摒弃主流I ...
- Bootstrap fileinput.js,最好用的文件上传组件
本篇介绍如何使用bootstrap fileinput.js(最好用的文件上传组件)来进行图片的展示,上传,包括springMVC后端文件保存. 一.demo 二.插件引入 <link ty ...
- Jquery图片上传组件,支持多文件上传
Jquery图片上传组件,支持多文件上传http://www.jq22.com/jquery-info230jQuery File Upload 是一个Jquery图片上传组件,支持多文件上传.取消. ...
- 前端通信:ajax设计方案(三)--- 集成ajax上传技术
在此之前让我感慨一下现在的前端开发的氛围.我遇到好多人,给我的观念都是,这个东西这个框架有了,那个东西那个框架做了,前端嘛,学几个框架,这个拼凑一下那个拼凑一下就好了.其实我想问,东西都框架做了,那你 ...
随机推荐
- org.apache.hadoop.hbase.TableExistsException: hbase:namespace
Problem is here : https://community.cloudera.com/t5/Storage-Random-Access-HDFS/HMaster-not-starting- ...
- icp算法基本思想
Icp基本思想参考资料:http://www.cnblogs.com/jian-li/articles/4945676.html ,包括点-点,点-面的各种icp变种 Icp算法就是两个点云X.Y之间 ...
- Linux 命令速查
学生信,Linux是最最基本的技能,要尽量将自己的工作平台转移到Linux,编程写脚本,这样会极大的提升工作效率,找工作时也不会太怂.Linux所有的任务都是通过命令来完成的,具有高度的统一性.Lin ...
- javaweb2 URL(查找的过程)
URL: 全名叫统一资源定位符,用于定位互联网的资源. 问题:接上(javaweb1 tomcat)http://localhost:8080/myweb/test.html 分析:http://-- ...
- C++/C#中堆栈、对象内存模型、深浅拷贝、Array.Clone方法
转载自:http://blog.csdn.net/jarvischu/article/details/6425534 目录 1. C++/C#中对象内存模型................. ...
- 1.3 ASP.NET MVC生命周期
ASP.NET MVC的执行生命周期主要分为三个阶段,分别是网址路由对比.执行控制器与动作.执行视图并返回结果.从ASP.NET MVC接受HTTP请求到返回HTTP响应的过程如下图所示.
- LINUX&UNIX 安装vmware workstation10和centOS6
大一下时,学习了linux&unix这门课程,全字符的操作,我对它并不是很感冒,不过,还是找学长安装过虚拟机和Linux系统,在考前利用它和putty进行复习.现在重装系统之后,各类软件,自然 ...
- hdu----(5023)A Corrupt Mayor's Performance Art(线段树区间更新以及区间查询)
A Corrupt Mayor's Performance Art Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 100000/100 ...
- Android res/目录下子目录详解
Directory Resource Type animator/ XML files that define property animations. anim/ XML files that de ...
- 集合框架,ArrayList和Vector的区别,让arrayList线程安全的几种方案
boolean add(E e) 将指定的元素添加到此列表的尾部. void add(int index, E element) 将指定的元素插入此列表中的指定位置. boolean addAll(C ...