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=" ...
随机推荐
- 静态区间第k大 树套树解法
然而过不去你谷的模板 思路: 值域线段树\([l,r]\)代表一棵值域在\([l,r]\)范围内的点构成的一颗平衡树 平衡树的\(BST\)权值为点在序列中的位置 查询区间第\(k\)大值时 左区间在 ...
- android的apk文件结构
什么是APK?APK文件都由那些组成?不懂没关系,让小编来为你详细解答. 一.APK简介与描述 APK是AndroidPackage的缩写,即Android安装包(apk).APK是类似Symbian ...
- 使用keepalived监控tomcat 达到双机热备
通常说的双机热备是指两台机器都在运行,但并不是两台机器都同时在提供服务. 当提供服务的一台出现故障的时候,另外一台会马上自动接管并且提供服务,而且切换的时间非常短.下面来以keepalived结合to ...
- HTTP Basic 机制
package com.enation.app.shop.component.payment.plugin.cod; import java.io.IOException; import java.u ...
- matlab fft demo
clf; fs=32;N=1024; %采样频率和数据点数 n=0:N-1; t=n/fs; %时间序列 x=1*sin(t); %信号 y=fft(x,N); %对信号进行快速Four ...
- xen hypercall 的应用层实现
一句话描述: xen hypercall 在应用层的实现,最终都变成对 /proc/xen/privcmd 的 ioctl 系统调用 我们知道,xen 在应用层最上层的接口是 libxl , 基本上 ...
- C++11 lambda表达式(19篇C++11文章)
C++11引入了lambda表达式,使得程序员可以定义匿名函数,该函数是一次性执行的,既方便了编程,又能防止别人的访问. Lambda表达式的语法通过下图来介绍: 这里假设我们定义了一个如上图的lam ...
- VS2005调试无法进入断点,暂停、停止、重编按钮为灰色
没装IE8之前(IE7),Vs2005调试还好用,装了IE8之后, Vs2005的WebSite程序按F5无法正常调试. 需要手动附加到进程, 比较麻烦, 据说还有种方法, 把所有IE窗口都关掉, 再 ...
- C#获取本机的外网IP
/// <summary> /// 功能:获取本地的外网IP地址 /// 作者:黄海 /// 时间:2016-07-22 /// </summary> /// <retu ...
- 注册表数据提取工具RegRipper
注册表数据提取工具RegRipper 注册表是Windows操作系统一个数据库,用来存储系统和应用程序设置信息.注册表信息分别保存在操作系统中的6个Hive文件中.获取这几个文件,就可以从中提取注 ...