FormData上传文件同时附带其他参数
前端js代码:
function fileSubmit() { var formData = new FormData();
formData.append("file",$("#FileUpload")[].files[]); var type = $('#file_type').val()
var user = $('#file_user').val()
formData.append("type",type)
formData.append("user",user) $.ajax({
url: baseURL+"etl/upload",
data: formData,
type: "Post",
dataType: "formData",
cache: false,//上传文件无需缓存
processData: false,//用于对data参数进行序列化处理 这里必须false
contentType: false, //必须
success: function (data) {
console.log(data)
console.log("success") if(data.code == ){
console.log(data.msg)
console.info("error");
$('#file_sqlRes').html("<span>"+data.msg+"</span>")
}else{
var taskId = data.taskId
$('#file_sqlRes').html("<span>TaskId为:"+taskId+"</span>")
} },
error: function (data) { }
}) }
后端Java代码:
/**
* 单文件上传
*
* @param file
*/
@RequestMapping(value = "/upload", method = RequestMethod.POST)
@ResponseBody
public AjaxObject upload(@RequestParam("file") MultipartFile file,String type,Long user) { String taskType = "F";
String featureType = type;
Long userOpt = user;
Long taskId = etlUtil.getTaskId(); if (file.isEmpty()) {
return AjaxObject.error(, "上传文件失败,请检查上传的文件");
}
// 获取文件名
String fileName = file.getOriginalFilename();
logger.info("上传的文件名为:" + fileName);
// 获取文件的后缀名
String suffixName = fileName.substring(fileName.lastIndexOf("."));
logger.info("上传的后缀名为:" + suffixName); // 文件上传后的路径
String filePath = etlConf.getUploadFilePath(); File dest = new File(filePath + fileName);
// 检测是否存在目录
if (!dest.getParentFile().exists()) {
dest.getParentFile().mkdirs();
} try {
file.transferTo(dest); Long res = 123L if (res != ) {
etlUtil.runDatax(taskId.toString(), featureType);
logger.info("taskId", taskId.toString());
return AjaxObject.ok().put("taskId", taskId.toString());
} else {
logger.error("TaskId插入失败");
return AjaxObject.error(, "TaskId插入失败,请联系管理员!").put("taskId", taskId.toString());
} } catch (IllegalStateException e) {
e.printStackTrace();
logger.error(e.toString(),e);
return AjaxObject.error(, "上传文件失败,请检查上传的文件,IllegalStateException");
} catch (IOException e) {
e.printStackTrace();
logger.error(e.toString(),e);
return AjaxObject.error(, "上传文件失败,请检查上传的文件,IOException");
} }
FormData上传文件同时附带其他参数的更多相关文章
- C#使用HttpClient上传文件并附带其他参数
HttpClient和MultipartFormDataContent(传送门)最低适用于.NET Framework 4.5版本 发送端代码 using (HttpClient client = n ...
- 使用FormData上传文件、图片
关于FormData XMLHttpRequest Level 2添加了一个新的接口 ---- FormData 利用FormData对象,可以通过js用一些键值对来模拟一系列表单控件,可以使用XM ...
- (十)HttpClient以multipart/form-data上传文件
原文链接:https://blog.csdn.net/wsdtq123/article/details/78888734 POST上传文件 最早的HTTP POST是不支持文件上传的,给编程开发带来很 ...
- php上传文件涉及到的参数
php上传文件涉及到的参数: 几个参数调整: 0:文件上传时存放文件的临时目录.必须是 PHP 进程所有者用户可写的目录.如果未指定则 PHP 使用系统默认值 php.ini文件中uplo ...
- FormData上传文件 带进度条
* jQuery ajax FormData 上传文件 template $.ajax({ url: url, type: 'POST', data: new FormData(form), dat ...
- jQuery Ajax使用FormData上传文件和其他数据,后端web.py获取
参考博文: 通过jQuery Ajax使用FormData对象上传文件 方法一:使用<form>表单初始化FormData对象方式上传文件 前端(JQuery): <form enc ...
- Ajax通过FormData上传文件
1.使用<form>表单初始化FormData对象方式上传文件 HTML代码 <form id="uploadForm" enctype="multip ...
- FormData上传文件(input file)
<div> <input type="file" name="FileUpload" id="FileUpload" va ...
- c#+js 使用formdata上传文件
如果不是使用form表单submit的形式,我们可以手动通过formdata传值(针对文件上传等) 比如: <html> <head> <meta name=" ...
随机推荐
- BZOJ1023[SHOI2008]cactus仙人掌图 【仙人掌DP】
题目 如果某个无向连通图的任意一条边至多只出现在一条简单回路(simple cycle)里,我们就称这张图为仙人掌 图(cactus).所谓简单回路就是指在图上不重复经过任何一个顶点的回路. 举例来说 ...
- maven打包源码
1. 打包 main 目录代码到 jar 归档文件 mvn source:jar 2. 打包 test 目录代码到 jar 归档文件 mvn source:test-jar
- Fiddler抓取HTTP请求
参考链接:http://blog.csdn.net/ohmygirl/article/details/17849983/ http://www.cnblogs.com/kingwolf_JavaScr ...
- UVaLive5059 Playing With Stones
数学问题 博弈 SG函数 我总觉得这题做过的……然而并没有记录 看上去是一个nim游戏的模型. 手推/打表找一下前几项的规律,发现x是偶数时,sg[x]=x/2,x是奇数时,sg[x]=sg[x di ...
- Spring数据访问之JdbcTemplate
Spring数据访问之JdbcTemplate 使用JdbcTemplate的基本操作步骤 1.引jar包
- bananahill(NOIP模拟赛Round 8)
题目描述 香蕉川由座香蕉山组成,第i座山有它的高度.小Z准备从左到右爬这里的恰好座香蕉山,但他不希望山的高度起伏太大,太过颠簸,会让本就体育不好的他过于劳累.所以他定义了爬山的劳累度是所有爬的相邻的两 ...
- 刨根问底Objective-C Runtime(4)- 成员变量与属性
http://chun.tips/blog/2014/11/08/bao-gen-wen-di-objective[nil]c-runtime(4)[nil]-cheng-yuan-bian-lian ...
- iOS开发者证书申请及应用上线发布详解
一个小教程登录开发者中心:http://developer.apple.com/ 第零部分:本地生成密钥1.打开mac的钥匙串访问 2.选择钥匙串的证书助理(有些可能是英文的) 3.点击继续后存 ...
- 设置JPA的Query返回Map对象
说明正常执行jpa查询的时候需要传一个对应实体进行映射返回的数据,这样有时候如果一个sql是复合sql关联很多表,就需要新建实体有点麻烦,通过下面方式就能将返回结果映射成map.这样就能随意获取返回结 ...
- mysql 共享空间转为独立表空间
由于以前的mysql配置为共享表空间,服务器空间不足,清理日志表里的数据后,数据库并没缩小,照成空间浪费,现在修改为独立表空间 #独立表空间innodb_file_per_table=1 #停止事物日 ...