ajaxFileUpload文件上传
一、简介
ajaxFileUpload是一种异步的文件上传控件,通过ajax进行文件上传,并获取上传处理结果。在很多时候我们需要使用到文件上传的功能,但是不需要使用那些强大的上传插件。此时就可以使用ajaxFileUpload。它基于jquery,本质是使用iframe完成上传。下载地址为:下载 。
二、实例
网页代码如下:
<%@ page contentType="text/html; charset=UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<title>文件上传</title>
</head>
<body>
<div>
<form id="formItem">
<div id="contentTable" style="border:0px;">
<h1 class="title" style="font-size:15px;border-bottom:1pxsolid#DFE3E6;">excel文件上传</h1>
<table width="80%">
<tr>
<td width="30%" align="right">
选择要上传的excel文件
</td>
<td width="70%" style="text-align:center;">
<input type="file" id="file1" name="file"/>
</td>
</tr>
</table>
<div>
<input type="button" value="导入 "/>
</div>
</div>
</form>
</div>
<scriptsrc="${pageContext.request.contextPath}/res/js/jquery-1.9.1.min.js"type="text/javascript"></script>
<scriptsrc="${pageContext.request.contextPath}/res/js/ajaxfileupload.js"></script>
<scripttype="text/javascript">
var flag=false;
$(function(){
//文件类型过滤
$(":button").click(function(){
varfilepath = $("#file1").val();
vararr = new Array();
arr = filepath.split(".");
var fileType = new Array(["xls"],["xlsx"]);
for(var i = 0; i < fileType.length; i++){
if(arr[1] == fileType[i]){
flag = true;
}
}
if(flag){
ajaxFileUpload();
}else{
alert("请选择excel文件上传")
return false;
}
})
}); functionajaxFileUpload(){
$.ajaxFileUpload
(
{
url : '${pageContext.request.contextPath}/file/upload.action',//用于文件上传的服务器端请求地址
secureuri : false,//一般设置为false
fileElementId : 'file1',//文件上传空间的id属性
dataType : 'json',//返回值类型一般设置为json
success : function(data,status)//服务器成功响应处理函数
{
if(data){
alert("上传成功!");
$("#file1").val("");
}
flag = false;
},
error : function(data,status,e)//服务器响应失败处理函数
{
alert(e);
}
}
)
return false;
}
</script>
</body>
</html>
服务器端代码如下:
/**
*使用springmvc进行文件上传处理
*/
@RequestMapping("upload")
@ResponseBody
public boolean upload(HttpServletRequest request, HttpServletResponse response ) throws UnsupportedEncodingException
{
String path = request.getSession().getServletContext().getRealPath("");
Calendar calendar = Calendar.getInstance();
calendar.setTime(new Date());
request.setCharacterEncoding("UTF-8");
path = String.format("%s\\%s\\%s\\%s\\%s\\%s", path, "file", "upload", calendar.get(calendar.YEAR),
calendar.get(calendar.MONTH), calendar.get(calendar.DAY_OF_MONTH));
File filepath = new File(path);
if (!filepath.exists()) {
filepath.mkdirs();
} MultipartHttpServletRequest multipartRequest = (MultipartHttpServletRequest) request;
// 获得文件
MultipartFile multipartFile = multipartRequest.getFile("file");
String filename = multipartFile.getOriginalFilename();
OutputStream os = null;
InputStream is = null;
File uploadFile = null;
try {
is = multipartFile.getInputStream();
if (is != null) {
uploadFile = new File(filepath, System.currentTimeMillis() + ".xls");
os = new FileOutputStream(uploadFile);
IOUtils.copy(is, os);
os.flush();
}
} catch (IOException e) {
e.printStackTrace();
return false;
} finally {
IOUtils.closeQuietly(os);
IOUtils.closeQuietly(is);
}
return true;
}
ajaxFileUpload文件上传的更多相关文章
- MVC+AjaxFileUpload文件上传
来源:微信公众号CodeL 本次给大家分享的是ajaxfileupload文件上传插件,百度一大堆功能超炫的文件上传插件,为什么我们会选择这个插件呢? 原因是在此之前,我们尝试使用过很多基于flash ...
- jQuery插件AjaxFileUpload文件上传实现Javascript多文件上传功能
Ajax file upload plugin是一个功能强大的文件上传jQuery插件,可自定义链接.或其它元素庖代传统的file表单上传结果,可实现Ajax动态提示文件上传 过程,同时支撑多文 ...
- spring mvc ajaxfileupload文件上传返回json下载问题
问题:使用spring mvc ajaxfileupload 文件上传在ie8下会提示json下载问题 解决方案如下: 服务器代码: @RequestMapping(value = "/ad ...
- AjaxFileUpload文件上传组件(php+jQuery+ajax)
jQuery插件AjaxFileUpload可以实现ajax文件上传,下载地址:http://www.phpletter.com/contents/ajaxfileupload/ajaxfileupl ...
- ajaxFileUpload 文件上传
源码: jQuery .extend({ createUploadIframe : function(id, uri) {//id为当前系统时间字符串,uri是外部传入的json对象的一个参数 //c ...
- JQuery文件上传插件ajaxFileUpload在Asp.net MVC中的使用
0 ajaxFileUpload简介 ajaxFileUpload插件是一个非常简单的基于Jquery的异步上传文件的插件,使用过程中发现很多与这个同名的,基于原始版本基础之上修改过的插件,文件版本比 ...
- ajaxFileupload多文件上传
最近有个功能模块需要上传图片,为了和之前的伙伴们保持一致我也使用了ajaxFileupload, 但是源码只支持单文件上传,所以百般斟酌之下决定修改源码,废话不多说直接上代码 HTML上传代码段: & ...
- 使用ajaxfileupload.js实现文件上传
ajaxFileUpload是一个异步上传文件的jQuery插件 语法:$.ajaxFileUpload([options]) options参数说明: 1.url 上传处理程序地址. 2,file ...
- 使用ajaxfileupload.js上传文件
一直以来上传文件都是使用form表单上传文件,也看到过有人使用js上传文件,不过看起来蛮简单的也就没有怎么去理会.今天突然要使用这种方式上传文件,期间还遇到点问题.因此就记录下来,方便以后遇到这样的问 ...
随机推荐
- mysqlbinlog -v --base64-output 与不加的区别
加-v与加-vv的区别: 加--base64-output=DECODE-ROWS与不加的区别:
- mysql update时报错You are using safe update mode
在使用mysql执行update的时候,如果不是用主键当where语句,会报如下错误,使用主键用于where语句中正常. ) Error Code: . You are using safe upda ...
- Gradle学习系列之五——自定义Property
在本系列的上篇文章中,我们讲到了增量式构建,在本篇文章中,我们将讲到如何自定义Project的Property. 请通过以下方式下载本系列文章的Github示例代码: git clone https: ...
- 网狐6603手机棋牌游戏源码.rar
网狐6603手机棋牌游戏源码.rar 文件大小: 333 MB 发布一款手机棋牌游戏源码带教程文档! 仅供学习,下载后请务必在24小时内删除! 网狐6603手机棋牌游戏源码 链接:http://p ...
- chrome修改UserAgent,调试
chrome浏览器模拟 UserAgent,调试手机环境. https://chrome.google.com/webstore/detail/user-agent-switcher-for-c/dj ...
- 根据IP地址获取地址所在城市帮助类(IPHelper)
很多类库都是需要在长时间的编写过程中进行积累的,进入软件编程行业已经是第五个年头了,从2011年写下第一行代码到现在不知道已经写了多少行代码了,时间也过得挺快的.最近事情比较多,也很少写博客了,最近项 ...
- 当kfreebsd 用户遇见openSUSE系统
openSuse的系统工具集覆盖了四大主流桌面环境,是针对每一种桌面环境定制的独立的桌面体验.
- AC自动机基础知识讲解
AC自动机 转载自:小白 还可参考:飘过的小牛 1.KMP算法: a. 传统字符串的匹配和KMP: 对于字符串S = ”abcabcabdabba”,T = ”abcabd”,如果用T去匹配S下划线部 ...
- 批处理清除VisualStudio解决方案文件夹
有很多次我们需要手工来删除bin, obj这样的文件夹.这些文件夹是由Visual Studio编译项目时生成的,其中包括了当前项目的程序集.一个解决方案会包含好多个项目了,那么就有很多这样 ...
- 安全协议:SSL、TSL、SSH概述
SSL(Secure Socket Layer--安全套接字层):为网络通信安全以及数据完整性提供保障的一种安全协议,在TCP/IP的传输层对网络连接进行加密: TSL(Transport Layer ...