<form method="post" enctype="multipart/form-data" id="resource">
<table border="1" width="100%" >
<th colspan="3">资源上传</th>
<tr height="28px">
<td width="12%" align="right">文 件 名:</td>
<td width="68%" >
<input class="zxui-textbox" style="width:300px" id="title">
</td>
<td rowspan="3">
<div style="height: 380px">
<input type="file" name="files"><br>
</div>
</td>
</tr>
<tr height="28px">
<td width="12%" align="right">文件类型:</td>
<td width="68%" >
<select id="cc" class="zxui-combobox" name="dept" style="width:200px;">
<option value="0">书籍</option>
<option value="1">音频</option>
<option value="2">视频</option>
</select>
</td>
</tr>
<tr height="28px">
<td width="12%" align="right">备 注:</td>
<td width="68%" >
<input class="zxui-textbox" style="width:300px" id="remark">
</td>
</tr>
<tr height="28px">
<td width="100%" colspan="3" align="center">
<a id="fileUpload" onclick="subResource()" class="zxui-linkbutton" data-options="iconCls:'downloadIcon'">上传</a> </td>
</tr>
</table>
</form>

  js:

function subResource(){
var remark=$('#remark').val();
var title=$('#title').val();
var files = $('#files').val(); //调用apicontroller后台action方法,将form数据传递给后台处理。contentType必须设置为false,否则chrome和firefox不兼容
if (files != ''& remark != '' & title != '') {
var formData = new FormData($("#resource")[0]);
formData.append("remark",remark);
formData.append("title",title); $.ajax({
url: "..../resources/upload.pt",
type: 'POST',
data: formData,
async: false,
cache: false,
contentType: false,
processData: false,
success: function (returnInfo) {
if (returnInfo==true) {
$.messager.alert('提示:','上传成功!');
$('#fileUpload').linkbutton('disable');
} else {
$.messager.alert('提示:','上传失败!请重新上传!');
}
},
error: function (returnInfo) {
//上传失败时显示上传失败信息
//document.getElementById('uploadInfo').innerHTML = "<span style='color:Red'>" + returnInfo + "</span>";
}
});
} else {
$.messager.alert('提示:','请完善上传资源或信息!');
}
}

  后台:

	@RequestMapping("upload")
@ResponseBody
public boolean upload(MultipartFile files,String remark,String title) throws Exception, IOException{
MultipartFile ufile=files;
String oname=ufile.getOriginalFilename();
String name=ufile.getName();
ServletContext context=this.getRequest().getSession().getServletContext();
String realname=context.getRealPath("/upload");
File nfile=new File(realname+"/"+UUID.randomUUID().toString()+oname);
ufile.transferTo(nfile); Dmp dmp =new BaseDmp();
String id = CodeUtil.getTimeSequence(30);
UserInfo user = this.getUserInfo();
String userid = user.getUserid();
String usname = user.getUsername();
dmp.put("id", id);
dmp.put("creater", usname);
dmp.put("createrid", userid);
dmp.put("address", String.valueOf(nfile));
dmp.put("remark", remark);
dmp.put("title", title);
int i =reService.in_resources(dmp);
boolean bo = false;
if (i>0) {
bo = true;
}
return bo;
}

  

form enctype="multipart/form-data" ajax 文件上传的更多相关文章

  1. 使用ajax提交form表单,包括ajax文件上传 转http://www.cnblogs.com/zhuxiaojie/p/4783939.html

    使用ajax提交form表单,包括ajax文件上传 前言 使用ajax请求数据,很多人都会,比如说: $.post(path,{data:data},function(data){ ... },&qu ...

  2. 使用ajax提交form表单,包括ajax文件上传【转载】

    [使用ajax提交form表单,包括ajax文件上传] 前言 转载:作者:https://www.cnblogs.com/zhuxiaojie/p/4783939.html 使用ajax请求数据,很多 ...

  3. 使用ajax提交form表单,包括ajax文件上传

    前言 使用ajax请求数据,很多人都会,比如说: $.post(path,{data:data},function(data){ ... },"json"); 又或者是这样的aja ...

  4. Ajax(form表单文件上传、请求头之contentType、Ajax传递json数据、Ajax文件上传)

    form表单文件上传 上菜 file_put.html <form action="" method="post" enctype="multi ...

  5. jquery.form.js官方插件介绍Form插件,支持Ajax,支持Ajax文件上传

    jquery.form.js官方插件介绍Form插件,支持Ajax,支持Ajax文件上传 http://www.malsup.com/jquery/form/#getting-started [JQu ...

  6. AJAX文件上传实践与分析,带HTML5文件上传API。

    对于HTML5已经支持AJAX文件上传了,但如果需要兼容的话还是得用一点小技巧的,HTML5等等介绍,先来看看以前我们是怎么写的. 网上可能会有一些叫AJAX文件上传插件,但在AJAX2.0之前是不可 ...

  7. 兼容ie的jquery ajax文件上传

    Ajax文件上传插件很多,但兼容性各不一样,许多是对ie不兼容的,另外项目中是要求将网页内容嵌入到桌面端应用的,这样就不允许带flash的上传插件了,如:jquery uploadify...悲剧 对 ...

  8. 转: 如何实现jQuery的Ajax文件上传

    [PHP文件上传] 在开始之前,我觉得是有必要把通WEB上传文件的原理简单说一下的.实际上,在这里不管是PHP,JSP,还是ASP处理上传的文件,其实都是WEB早已把文件上传到服务器了,我们只是运用上 ...

  9. springmvc+ajax文件上传

    环境:JDK6以上,这里我是用JDK8,mysql57,maven项目 框架环境:spring+springmvc+mybaits或spring+springmvc+mybatis plus 前端代码 ...

  10. 表单文件上传,ajax文件上传

    原创链接:http://www.cnblogs.com/yanqin/p/5345562.html html代码  index.jsp(表单文件上传) <form action="sh ...

随机推荐

  1. 新增一个Redis 从节点为什么与主节点的key数量不一样呢?

    在日常的 Redis 运维过程中,经常会发生重载 RDB 文件操作,主要情形有: 主从架构如果主库宕机做高可用切换,原从库会挂载新主库重新获取数据 主库 QPS 超过10万,需要做读写分离,重新添加从 ...

  2. Python数据科学手册-Pandas:向量化字符串操作、时间序列

    向量化字符串操作 Series 和 Index对象 的str属性. 可以正确的处理缺失值 方法列表 正则表达式. Method Description match() Call re.match() ...

  3. 如何使用Arthas定位问题

    在我们日常的工作中,经常会遇到一些线上才会遇到的问题.Arthas无疑是我们在工作中,定位线上问题的神奇.下面,我将介绍一下我们在工作中经常用到的一些功能. dashboard 首先我们可以通过das ...

  4. 我的 Kafka 旅程 - Linux下的安装 & 基础命令

    准备工作 安装解压缩工具 tar # 检查是否安装了解压缩工具 tar yum list tar # 如未安装 tar yum install tar -y 安装必备的 java # 检查是否安装了 ...

  5. ASP.NET Core :缓存系列(四):内存缓存 MemoryCache

    System.Runtime.Caching/MemoryCache ICacheEntry 接口中的属性:具体设置过期时间 可以参考:微软文档ICacheEntry 接口 缓存基本使用 (一) 绝对 ...

  6. 动态代理(JDK、CGLIB)

    JDK-Proxy(动态代理): 特点:要求被代理的对象必须接口 缺点:如果一个对象没有任何接口实现,则不能使用JDK动态代理 1.创建一个Animal 提供一个方法 2.创建一个cat类.实现Ain ...

  7. 驱动开发:内核枚举Minifilter微过滤驱动

    Minifilter 是一种文件过滤驱动,该驱动简称为微过滤驱动,相对于传统的sfilter文件过滤驱动来说,微过滤驱动编写时更简单,其不需要考虑底层RIP如何派发且无需要考虑兼容性问题,微过滤驱动使 ...

  8. 后端框架的学习----mybatis框架(6、日志)

    六.日志 如果一个数据库操作,出现了异常,我们需要排错,日志就是最好的帮手 setting设置 <settings> <setting name="logImpl" ...

  9. golang中的变量阴影

    索引:https://waterflow.link/articles/1666019023270 在 Go 中,在块中声明的变量名可以在内部块中重新声明. 这种称为变量阴影的原理很容易出现常见错误. ...

  10. day05-JavaScript02

    JavaScript02 8.JavaScript函数 JavaScript函数介绍 函数是由事件驱动的,或者当它被调用时,执行的可重复使用的代码 例子 <!DOCTYPE html> & ...