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上传组件的更多相关文章

  1. Ajax的原理及Django上传组件

    title: Ajax的原理及Django上传组件 tags: Django --- Ajax的原理及Django上传组件 Ajax的原理 ajax 是异步JavaScript和xml ajax就是向 ...

  2. Web Uploader - 功能齐全,完美兼容 IE 的上传组件

    文件上传是网站和 Web 应用程序的常用功能,一直没有一款完美的文件上传组件,因此让很多开发人员碰到头疼的浏览器兼容问题. WebUploader 是由 Baidu FEX 团队开发的一款以 HTML ...

  3. 异步文件上传组件 Uploader

    Uploader是非常强大的异步文件上传组件,支持ajax.iframe.flash三套方案,实现浏览器的全兼容,调用非常简单,内置多套主题支持 和常用插件,比如验证.图片预览.进度条等,广泛应用于淘 ...

  4. Flash上传组件之SWFUpload文件上传

    一.什么是SWFUpload? SWFUpload是一个客户端文件上传工具,最初由Vinterwebb.se开发,它通过整合Flash与JavaScript技术为WEB开发者提供了一个具有丰富功能继而 ...

  5. 框架基础:ajax设计方案(三)---集成ajax上传技术

    之前发布了ajax的通用解决方案,核心的ajax发布请求,以及集成了轮询.这次去外国网站逛逛,然后发现了ajax level2的上传文件,所以就有了把ajax的上传文件集成进去的想法,ajax方案的l ...

  6. Baidu WebUploader 前端文件上传组件的使用

    简介 WebUploader是由Baidu WebFE(FEX)团队开发的一个简单的以HTML5为主,FLASH为辅的现代文件上传组件.在现代的浏览器里面能充分发挥HTML5的优势,同时又不摒弃主流I ...

  7. Bootstrap fileinput.js,最好用的文件上传组件

    本篇介绍如何使用bootstrap fileinput.js(最好用的文件上传组件)来进行图片的展示,上传,包括springMVC后端文件保存. 一.demo   二.插件引入 <link ty ...

  8. Jquery图片上传组件,支持多文件上传

    Jquery图片上传组件,支持多文件上传http://www.jq22.com/jquery-info230jQuery File Upload 是一个Jquery图片上传组件,支持多文件上传.取消. ...

  9. 前端通信:ajax设计方案(三)--- 集成ajax上传技术

    在此之前让我感慨一下现在的前端开发的氛围.我遇到好多人,给我的观念都是,这个东西这个框架有了,那个东西那个框架做了,前端嘛,学几个框架,这个拼凑一下那个拼凑一下就好了.其实我想问,东西都框架做了,那你 ...

随机推荐

  1. Mvc4_@RenderBody()和@RenderSection()

    @RenderBody():呈现子页的主体内容 @RenderSection():呈现特别的节部分. HelperResult RenderSection(string name, bool requ ...

  2. 转!!java泛型概念(泛型类,接口,方法)

    一. 泛型概念的提出(为什么需要泛型)? 首先,我们看下下面这段简短的代码: 1 public class GenericTest { 2 3 public static void main(Stri ...

  3. xmpp4-总览

    1注意点 创建的聊天室本地缓存,和服务器存储有时不同步,似乎聊过天就更稳定一点.

  4. iOS蓝牙4.0开发(BLE)

    智能设备 和 app 通过 BLE通讯的两种模型 模型一:设备提供数据,app 展示数据: 比如小米手环 模型二:app提供数据,设备接收: 模型与corebluetooth的对应关系: 模型一:智能 ...

  5. Working with Data » Getting started with ASP.NET Core and Entity Framework Core using Visual Studio » 创建复杂数据模型

    Creating a complex data model 创建复杂数据模型 8 of 9 people found this helpful The Contoso University sampl ...

  6. 如何通过ildasm/ilasm修改assembly的IL代码

    原文地址:http://kb.cnblogs.com/page/101162/ 这段时间为跟踪一个Bug而焦头烂额,最后发现是Framework的问题,这让人多少有些绝望.所以到微软论坛提了个帖子,希 ...

  7. validate插件:验证密码没有空格 用户名是5-10位 至少包含数字和大小写字母中的两种字符

    //校验密码是否含有空格 jQuery.validator.addMethod("notblank", function(value, element) { var pwdblan ...

  8. 经典排序算法---冒泡排序(Bubble Sort)

    原理是临近的数字两两进行比较,按照从小到大或者从大到小的顺序进行交换, 这样一趟过去后,最大或最小的数字被交换到了最后一位,然后再从头开始进行两两比较交换,直到倒数第二位时结束 void Bubble ...

  9. JavaWeb基础: 第一个Web应用(Servlet)

    Servlet的生命周期 <servlet-mapping>和<servlet> Web应用的用户是通过指定浏览器中URL地址来访问Web应用提供的静态或者是动态资源,如果Se ...

  10. (13)odoo翻译

    -------------------更新时间:15:52 2016-09-28 星期三 增加模型名翻译17:26 2016-05-20 星期五17:58 2016-05-17 星期二12:14 20 ...