jquery-form.js 兼容IE8 IE9等以上火狐谷歌等浏览器
最近做了一个文件上传 用ajaxfileupload.js 在火狐 谷歌 IE9及以上版本可用 为了兼容IE8 找到了jquery-form.js
html 代码:
<form id="form1" name="form1" runat="server" method="post" enctype="multipart/form-data">
<input type="file" name="fileName" id="fileName" />
<a class="easyui-linkbutton" iconCls="icon-up" οnclick="upload()" href="javascript:void(0);">上传</a>
</form>
js代码:
function upload(){
if($("#fileName").val()==""){
$.messager.alert("操作提示","请点击浏览按钮 选择文件");
return false;
}
var form = $("form[name=form1]");
var options = {
url:'${ctx}/CostMsg/upFile',
type:'post',
data:{'id':$("#chargesId").val()},
success:function(data)
{
var jsondata = eval("("+data+")");
if(jsondata.success){
$("#fileName").val("");
var fileName = jsondata.msg;
$("#chargesId").val(jsondata.obj);
var html="<div style='float:left;margin:5px'><div οnclick='deleteImage(this);'><img style='float:right' src='${static}/js/jquery-easyui-1.2.6/themes/icons/cancel.png'/></div><a href='javascript:void(0);' style='margin:5px' ><img src='${static}/uploadFiles/chargesFile/"+fileName+"' width='140' height='140' /></a></div>";
$('#upImage').append(html);
}else{
var message = jsondata.msg;
$("#messageTip").html("<span style='color:red'>"+message+"</span>");
}
}
};
form.ajaxSubmit(options);
}
controllor代码:
/**
* 文件上传
* @param apkFile
* @param request
* @param id
* @return Json
*/
@RequestMapping(value = "/upFile")
@ResponseBody
public void upFile(@RequestParam("fileName") MultipartFile fileName,HttpServletRequest request,HttpServletResponse response,String id) {
try {
Json json=new Json();
response.setContentType("text/html");
json=CostMsgService.upFile(fileName,request, response,id);
response.setContentType("text/html; charset=UTF-8");
PrintWriter out = response.getWriter();
out.println(JSONObject.toJSONString(json));
} catch (IOException e) {
e.printStackTrace();
}
}
service代码:
@Override
public Json upFile(MultipartFile file,HttpServletRequest request,HttpServletResponse response,String id) {
Json json=new Json();
try {
String[] types=new String[]{".jpg",".png",".jpeg",".bmp",".zip",".JPG",".PNG",".JPEG",".BMP",".ZIP"};
// 文件保存目录路径
String savePath = request.getSession().getServletContext().getRealPath("/")+ "static/"+Upload_Directory;
// 文件保存目录URL
String saveUrl = request.getContextPath() +"/static/"+ Upload_Directory;
// 定义允许上传的文件扩展名
File inbox = new File(savePath); //判断文件夹是否存在
if (!inbox.exists()) {
inbox.mkdirs();
}
File inbox1 = new File(saveUrl); //判断文件夹是否存在
if (!inbox1.exists()) {
inbox1.mkdirs();
}
// 最大文件大小
long maxSize = 3145728;
if (!ServletFileUpload.isMultipartContent(request)) {
json.setMsg("请选择文件");
json.setSuccess(false);
return json;
}
String originFileName=file.getOriginalFilename();
String suffix=originFileName.indexOf(".") !=-1?
originFileName.substring(originFileName.lastIndexOf("."), originFileName.length()):null;
String str = System.currentTimeMillis()+"";
String newFileName=str+suffix;
String dirName = request.getParameter("dir");
if (dirName == null) {
dirName = "image";
}
// 检查文件大小
if (file.getSize() > maxSize) {
json.setMsg("上传文件大小超过限制。最大3M");
json.setSuccess(false);
return json;
}
// 检查扩展名
if (!Arrays.<String> asList(types).contains(suffix)) {
json.setMsg("上传文件扩展名是不允许的扩展名。\n只允许jpg,jpeg,png,bmp,zip 格式。");
json.setSuccess(false);
return json;
}
IdGenerator idG=new IdGenerator();
String chargesId=id;
if(id==null||id.length()==0){
chargesId=idG.getLongValue()+"";
}
if(suffix!=null){
FileUtils.copyInputStreamToFile(file.getInputStream(), new File(savePath, newFileName));
FileUtils.copyInputStreamToFile(file.getInputStream(), new File(saveUrl, newFileName));
CostMsgDao.executeSql("insert into t_jy_file (ID,TABLE_ID,FILE_NAME,TABLE_NAME) values('"+str+"','"+chargesId+"','"+newFileName+"','t_jy_deductionrecord')");
json.setMsg(newFileName);
json.setObj(chargesId);
json.setSuccess(true);
logger.error("file upload success:"+originFileName+" file length is"+file.getSize());
return json;
}else {
logger.error("不能识别该文件 或文件已损坏:"+originFileName);
return json;
}
} catch (Exception e) {
e.printStackTrace();
return json;
}
}
该代码已经过测试 并上线使用
jquery-form.js 兼容IE8 IE9等以上火狐谷歌等浏览器相关推荐
- jquery.form.js在ie8下提示下载文件
1.后台返回html格式的json文档 也就是设置content类型为:response.setContentType("text/html"); //renderJson(res ...
- jquery.form.js插件中ajaxSubmit提交在jquery1.4版本中的应用
作者:xyzroundo 下以处理的是对含有 <input type"file" /> 元素的表单,利用jquery.form 的ajaxSubmit方法进行类似aj ...
- jquery.form.js的ajaxSubmit和ajaxForm使用(用于多文件上传以及其他参数的混合提交)
jquery.form.js的ajaxSubmit和ajaxForm使用(用于多文件上传以及其他参数的混合提交) ajaxSubmit 和ajaxForm区别 ajaxForm ajaxForm()不 ...
- jQuery.form.js使用
jQuery.form.js是一个form插件,支持ajax表单提交和ajax文件上传. 下载地址 百度云:http://pan.baidu.com/s/1eQoYE46 360云:http://yu ...
- 利用jquery.form.js实现Ajax无刷新图片上传及预览功能
某些时候当我们做登记页面的时候可能需要上传图片,并实现即时预览的功能. 如果只是预览而不上传,可以使用ImagePreview来实现,方便简单.如果需要上传,那么你也可以使用uploadify无刷新上 ...
- 【jQuery】使用jquery.form.js,获取提交表单返回值
jQuery表单库介绍 实现 html 中提交表单并实现不跳转页面处理返回值 jQuery表单库(jquery.form.js库)以jQuery为基础,用于处理表单AJAX提交,使得表单AJAX提交简 ...
- 解决 jquery.form.js和springMVC上传 MultipartFile取不到信息
前段页面: <%@ page language="java" contentType="text/html; charset=UTF-8" pageEnc ...
- ASP.NETmvc常用JQUERY收藏【jquery.form.js结合jquery.validate.js】
虽然jquery.form.js可以通过自定义验证方式实现个性化的验证,不过我们大量使用的还不是一个红星(*) 在jquery.form.js下使用jquery.validate.js就可以简简单单的 ...
- jQuery.Form.js 异步提交表单使用总结
jQuery.Form.js 是一个用于使用jQuery异步提交表单的插件,它使用方法简单,支持同步和异步两种方式提交. 第一步:引入jQuery与jQuery.Form.js 1 <scrip ...
最新文章
- Redhat 7使用CentOS 7的Yum网络源
- Linux下C/C++开发工具注意事项
- 戚俊:可能是最懂架构的投资人
- HTML布局是外边距咋表示,布局 页面设置百分比 子元素如何设置外边距?
- 关于sap的日期,时间
- 软件工程的 第二天贪吃蛇
- cc2530设计性实验代码六
- 魔兽世界服务器卡顿原理,《魔兽世界》怀旧服卡顿解决方法
- 树莓派挂载硬盘/U盘以及分区教程
- python ocr文字识别竖排繁体_小巧免费的图片文字识别OCR软件 支持简体识别和竖排繁体中文...
- 计算机网络双绞线的功能,双绞线由几根组成?双绞线每根线的作用
- 手游本地化不得不看的10条规则
- 笔记本html外接显示器,笔记本怎么外接显示器 笔记本用外接显示器设置教程
- 深入浅出matplotlib(101):研究最有名的滤波函数:sinc函数
- 书论83 梁巘《承晋斋积闻录》
- Android studio gradle编译失败问题汇总
- 手机端兼容iPhoneX刘海屏
- 数据库 day60,61 Oracle入门,单行函数,多表查询,子查询,事物处理,约束,rownum分页,视图,序列,索引
- 课程学习:Linux系统管理
- Esri_Land_Cover_2020_10m的介绍与数据下载教程
热门文章
- python来一份情书采集 备用python xpath
- 大量机器学习(Machine Learning)深度学习(Deep Learning)资料
- 虚拟主机搭建python服务器,python虚拟主机服务器
- 面向“伙伴+华为”体系,华为产品力的变与不变
- Mycat之——取模分片
- Git---------Git---------Git
- android ip 定位,IP定位-API文档-开发指南-Web服务 API | 高德地图API
- VCS Error-[NYI-NS] Not Yet Implemented
- MySQL备份Percona Xtrabackup安装和卸载
- java Opencv保存中文路径的图片