<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. 基于 Apache Hudi + Presto + AWS S3 构建开放Lakehouse

    认识Lakehouse 数据仓库被认为是对结构化数据执行分析的标准,但它不能处理非结构化数据. 包括诸如文本.图像.音频.视频和其他格式的信息. 此外机器学习和人工智能在业务的各个方面变得越来越普遍, ...

  2. Elasticsearch 快照生命周期管理 (SLM) 实战指南

    文章转载自:https://mp.weixin.qq.com/s/PSfgPJc4dKN2pOZd0Y02wA 1.Elasticsearch 保证高可用性的方式 Elasticsearch 保证集群 ...

  3. 域名服务DNSmasq搭建

    假设该服务端主机ip是:192.168.80.100 服务端安装(yum方式) yum install dnsmasq -y # 配置系统文件 # cp /etc/resolv.conf /etc/r ...

  4. linux安装node和达梦数据库8

    PS.本次测试只是为了项目需要,但是在部署和启动程序的时候发生了一系列的报错,由此记录下来为日后作参考 安装达梦数据库 1. 达梦数据库(DM8)简介 达梦数据库管理系统是武汉达梦公司推出的具有完全自 ...

  5. hive数据导出到linux本地

    方法1(hive下执行):insert overwrite local directory 'Linux本地目录' row format delimited fields terminated by  ...

  6. PAT520 钻石争霸赛 7-6 随机输一次

    #include<bits/stdc++.h> using namespace std; typedef long long ll; const int maxn = 1000; ll n ...

  7. Windows Socket 接口简介

    Windows Socket接口是Windows下网络编程的接口,在介绍Windows Socket接口之前,首先要简单介绍一下TCP/IP协议和描述网络系统架构的 OSI模型,以及TCP/IP模型 ...

  8. Linux根据时间过滤文件

    1.显示20分钟前的文件:       find /sdb1/apache-tomcat-show/logs/ -type f -mmin +20 -exec ls -l {} \; 2.删除20分钟 ...

  9. 算法设计(动态规划实验报告) 基于动态规划的背包问题、Warshall算法和Floyd算法

    一.名称 动态规划法应用 二.目的 1.掌握动态规划法的基本思想: 2.学会运用动态规划法解决实际设计应用中碰到的问题. 三.要求 1.基于动态规划法思想解决背包问题(递归或自底向上的实现均可): 2 ...

  10. 1.Django-Rest-Framework入门规范

    一.WEB应用模式   1.前后端不分离 前后端混合开发(前后端不分离),返回的是html的内容,需要渲染页面,写模版 2.前后端分离 专注于后端接口,返回json.xml格式的数据     二.AP ...