通过formdata ajax上传图片 以及后台接收formdata数据 mvc
2017-06-19 18:28
1241 查看
通过formdata ajax上传图片 以及后台接收formdata数据 mvc
版权声明:本文为博主原创文章,未经博主允许不得转载。
最近一直研究如何通过ajax上传图片看了好对用formdata来实现 但是关于springmvc后台如何接收formdata的数据一直没有介绍 今天把后台接收数据也写下来了 。
有点不完整 但是是能够实现的 相信有能看懂的 大家见谅 带有颜色的标记注意一下
<form class="inpform" id="uploadForm" enctype="multipart/form-data">
<div class="f-inp">
<div> <i>诊所名称:</i>
<input type="text" name="name" id="name" >
</div>
<div> <i>诊所地址:</i>
<input type="text" name="addrInfo" id="addrInfo" >
</div>
<h4>Logo</h4>
<input type="file" id="file" name="file" />
</div>
</form>
<input type="button" value="提交" onclick="add();">
js如下
function add(){
var formData = new FormData($("#uploadForm")[0]);//用form 表单直接 构造formData 对象; 就不需要下面的append 方法来为表单进行赋值了。
$.ajax({
async: false,//要求同步 不是不需看你的需求
url : "app/gexingSet.htmls",
type : 'POST',
data : formData,
processData : false, //必须false才会避开jQuery对 formdata 的默认处理
contentType : false, //必须false才会自动加上正确的Content-Type
success : function(result) {
if(result==1){
forward=true;
}else{
$(".myModal-click").trigger("click");
forward=false;
}
},
error : function(result) {
$(".myModal-click").trigger("click");
forward=false;
}
});
}
spring mvc 处
@Controller
@RequestMapping("/app")
public class ClinicController {
@ResponseBody
@RequestMapping("gexingSet.htmls")
public int gexingSet1(
@RequestParam(value = "file", required = false)MultipartFile file,
String name, String
addrInfo, HttpServletRequest request) { //name和addrinfo是表单提交的数据 因为文件上传有可能带有其他参数 但是名字要与表单里的名字一样
String fileName = file.getOriginalFilename(); //获取文件名
if (!file.isEmpty()) {
String path = “”;//写你的路径 这里不写了
File targetFile1 = new File(path, fileName);
OutputStream out;
InputStream in;
try {
byte[] buf = file.getBytes();//文件二进制
while ((length = in.read(buf)) != -1) {
out.write(buf, 0, length);
}
out.flush();
in.close();
out.close();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
版权声明:本文为博主原创文章,未经博主允许不得转载。
最近一直研究如何通过ajax上传图片看了好对用formdata来实现 但是关于springmvc后台如何接收formdata的数据一直没有介绍 今天把后台接收数据也写下来了 。
有点不完整 但是是能够实现的 相信有能看懂的 大家见谅 带有颜色的标记注意一下
<form class="inpform" id="uploadForm" enctype="multipart/form-data">
<div class="f-inp">
<div> <i>诊所名称:</i>
<input type="text" name="name" id="name" >
</div>
<div> <i>诊所地址:</i>
<input type="text" name="addrInfo" id="addrInfo" >
</div>
<h4>Logo</h4>
<input type="file" id="file" name="file" />
</div>
</form>
<input type="button" value="提交" onclick="add();">
js如下
function add(){
var formData = new FormData($("#uploadForm")[0]);//用form 表单直接 构造formData 对象; 就不需要下面的append 方法来为表单进行赋值了。
$.ajax({
async: false,//要求同步 不是不需看你的需求
url : "app/gexingSet.htmls",
type : 'POST',
data : formData,
processData : false, //必须false才会避开jQuery对 formdata 的默认处理
contentType : false, //必须false才会自动加上正确的Content-Type
success : function(result) {
if(result==1){
forward=true;
}else{
$(".myModal-click").trigger("click");
forward=false;
}
},
error : function(result) {
$(".myModal-click").trigger("click");
forward=false;
}
});
}
spring mvc 处
@Controller
@RequestMapping("/app")
public class ClinicController {
@ResponseBody
@RequestMapping("gexingSet.htmls")
public int gexingSet1(
@RequestParam(value = "file", required = false)MultipartFile file,
String name, String
addrInfo, HttpServletRequest request) { //name和addrinfo是表单提交的数据 因为文件上传有可能带有其他参数 但是名字要与表单里的名字一样
String fileName = file.getOriginalFilename(); //获取文件名
if (!file.isEmpty()) {
String path = “”;//写你的路径 这里不写了
File targetFile1 = new File(path, fileName);
OutputStream out;
InputStream in;
try {
byte[] buf = file.getBytes();//文件二进制
while ((length = in.read(buf)) != -1) {
out.write(buf, 0, length);
}
out.flush();
in.close();
out.close();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
相关文章推荐
- 通过formdata ajax上传图片 以及后台接收formdata数据 mvc
- ajax 请求后台数据(及使用FormData对象提交表单及上传图片)
- JavaScript - AJAX 通过 FormData 上传 form 表单中的所有数据(text 文本,files 图片等二进制文件)
- 基于Ajax的formData图片和数据上传
- 基于Ajax的formData图片和数据上传(前端发送及后端验证)
- WebAPI通过multipart/form-data方式同时上传文件以及数据(含HttpClient上传Demo)
- jquery通过ajax用formData对象上传图片方法
- WebAPI通过multipart/form-data方式同时上传文件以及数据(含HttpClient上传Demo)
- SpringMVC+Ajax用FormData对象上传页面的图片(文件),并且立马在页面上显示出来
- WebAPI通过multipart/form-data方式同时上传文件以及数据(含HttpClient上传Demo)
- 基于Ajax的formData图片和数据上传
- ajax上传图片到后台【formData】
- 通过ajaxFileUpload控件上传图片,java后台接收并保存本地
- HTML5可预览多图片ajax上传(使用formData传递数据)
- WebAPI通过multipart/form-data方式同时上传文件以及数据(含HttpClient上传Demo)
- 使用Ajax以及Jquery.form异步上传图片
- multiple多图选择,借助FormData通过ajax实现上传
- 在 Android 上通过模拟 HTTP multipart/form-data 请求协议信息实现图片上传
- H5 通过Ajax方式上传文件,使用FormData进行Ajax请求
- 通过Ajax方式上传文件,使用FormData进行Ajax请求