ajax发送dataform格式,Ajax提交用FormData()上传文件

该博客介绍了如何使用HTML form、Ajax和FormData来提交表单数据,特别是上传照片。在后台,通过Controller方法接收并处理这些上传的文件,即使没有照片也会将其作为附件处理。该过程涉及到多部分解析器、MultipartFile接口以及文件上传后的处理逻辑。
摘要由CSDN通过智能技术生成

1.form声明如下

19e417a1aada395e17788b08cd71cae7.png

2.ajax设置如下

var formdata = new formdata(document.getelementbyid("form"));

$.ajax({

url:document.form.action,

type:"post",

data:formdata,

processdata:false,   //  告诉jquery不要处理发送的数据

contenttype:false,   // 告诉jquery不要设置content-type请求头

success:function(data){

if(data == "ok"){

window.parent.splitpageform.submit();

}

},

error:function(data){

}

});

364148.html

3.后台controller接收方法

df4b7f2fe203d06970c97ff1a42c5544.png

//将所有的照片都变成附件,这个是领用人上传照片节点要用到的,空的也加入list

public static list getmultipartfilescontainempty(httpservletrequest request){

list attachs = new arraylist();

try{

//创建一个通用的多部分解析器

commonsmultipartresolver multipartresolver = new commonsmultipartresolver(request.getsession().getservletcontext());

//判断 request 是否有文件上传,即多部分请求

if(multipartresolver.ismultipart(request)){

//转换成多部分request

multiparthttpservletrequest multirequest = (multiparthttpservletrequest)request;

//取得request中的所有文件名

iterator iter = multirequest.getfilenames();

while(iter.hasnext()){

//取得上传文件

string key =  iter.next();

list files = multirequest.getfiles(key);

if(files != null && files.size() > 0 ){

for(multipartfile file : files){

attachment attach = fileload.upload(request, file);

if(null != attach){

attach.settablename(key);

}else{

attach = new attachment();

attach.settablename("empty");

}

attachs.add(attach);

}

}

}

return attachs;

}

return attachs;

}catch(exception e){

e.printstacktrace();

return attachs;

}

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值