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. SlideSwitch

    //SlideSwitch.java package com.example.hellojni; import android.content.Context; import android.cont ...

  2. MySQL5.7 JSON实现简介

    版权声明:本文由吴双桥原创文章,转载请注明出处: 文章原文链接:https://www.qcloud.com/community/article/205 来源:腾云阁 https://www.qclo ...

  3. 浅谈全区全服架构的SNS游戏后台

    版权声明:本文由梁本志原创文章,转载请注明出处: 文章原文链接:https://www.qcloud.com/community/article/198 来源:腾云阁 https://www.qclo ...

  4. fork&exec

    进程是系统进行资源分配和调度的基本单位,包括代码.数据和PCB进程控制块等资源. fork函数通过系统调用创建一个与原进程相同的子进程. 在调用进程(父进程)中返回一次,返回子进程ID:在子进程返回0 ...

  5. Merge k Sorted Lists [LeetCode]

    Merge k sorted linked lists and return it as one sorted list. Analyze and describe its complexity. S ...

  6. C++数据类型范围

    C++中有很多基本的数据类型,我们在使用过程中需要根据所需要存储数据的范围的不同而选择恰当的数据类型. Visual C++ 32 位和 64 位编译器可识别本文后面的表中的类型. int (unsi ...

  7. 在Handler.ashx文件中使用session

    使用jquery调用handler文件中的方法,需要使用session,默认生成的文件中,不可以直接使用session.按照以下步骤,即可以通过session与其他的aspx页面的session进行数 ...

  8. 各式各样table

    <html> <head>      <title>大清帝国</title>      <meta name="keywords&quo ...

  9. MySQL索引实现

    摘自:http://blog.codinglabs.org/articles/theory-of-mysql-index.html 在MySQL中,索引属于存储引擎级别的概念,不同存储引擎对索引的实现 ...

  10. es根据磁盘使用情况来决定是否分配shard

    注意两个地方说法有出入,待实测! es可以根据磁盘使用情况来决定是否继续分配shard.默认设置是开启的,也可以通过api关闭:cluster.routing.allocation.disk.thre ...