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上传文件,不过看起来蛮简单的也就没有怎么去理会.今天突然要使用这种方式上传文件,期间还遇到点问题.因此就记录下来,方便以后遇到这样的问 ...
随机推荐
- 关于Latch争用
Latch是什么 Latch是SQL Server引擎保证内存中的结构的一致性的轻量同步机制.比如索引,数据页和内部结构(比如非叶级索引页).SQL Server使用Buffer Latch保 ...
- sed之打印特定行与连续行
接分号,表示打印特定行,如下命令只会打印出第一行与第十行 sed -n '1p;10p' test.txt 接逗号,表达连续的行娄,如下命令打印出第一行到第十行 sed -n '1,10p' tes ...
- 交通银行 Java Socket 服务启动 管理 WINDOWS 版
按照交通银行提供的无界面启动方法试验了很多次,都没有成功,所以自己动手用C# 知识写了一个. 小工具可以判断 交通银行 JAVA SOCKET 服务是否启动,并可以启动/关闭服务 主要代码如下: 判断 ...
- js禁止复制页面文字
做项目的时候有客户提出要求,不能用用户浏览他发表的文章时复制他的文章 一种比较简单的方法,禁止用户选中页面的文字和禁止用户右键菜单 document.oncontextmenu = new Funct ...
- Dev gridView中设置自适应列宽和日期显示格式、金额的显示格式
在Dev GridView控件中,数据库中表数据日期都是长日期格式(yyyy-MM-dd HH:mm:ss),但显示在控件变成短日期格式(yyyy-MM-dd),金额显示要显示精确的数值, 比如80. ...
- 为什么重新设计 ASP.NET?
灵活的跨平台运行时需求 早期 .NET Framework 版本一直作为单一且全面的整体进行安装,每个新版本都包含了新功能和几乎所有早期功能,而鲜有删减,这就不可避免的造成Framework的体积的增 ...
- 自定义View_2_关于自定义组合View
自定义View(2) Android当中给我们提供了丰富的UI控件,当然也许满足不了我们的需求,我们就必须学会自定义自己的View,我们怎么算是自定义自己的view呢! 我们会根据原来有的View对V ...
- 来自亚马逊CEO Jeff Bezos的20句经验之谈
英文原文:The 20 Smartest Things Jeff Bezos Has Ever Said 当外界对一个公司的热情有些偏离常态时, 就会出现武断的言论,亚马逊对此就深有感受.2000 年 ...
- 为什么要用visibility:hidden;代替display:none;?
为什么要用用visibility:hidden;代替display:none;?因为后者更加消耗浏览器: css绘制画面有两种形式:repaint 和reflow,当我们更改css属相如backgro ...
- css权重是什么
css权重是什么? 概述 css Specificity中文一般译为css优先级.css权重.相比"权重","优先级"更好理解,mozilla官方中文文档就翻译 ...