ajax上传文件提交时,enctype=multipart/form-data怎么带过去?

急急急。大虾们。ajax上传文件提交时,enctype=multipart/form-data怎么带过去?我是在上传图片。ajax上传完之后还要返回本页面见图片显示出来。

目前的情况下,没有直接ajax提交file的可能
有一些js库你可以使用,他们做的方法往往是在页面新建一个iframe,然后在frame里面建一个file的input组件,然后在那个frame里面走submit
这样就做成了异步的样子,submit那个的form你就可以设置enctype了
温馨提示:答案为网友推荐,仅供参考
第1个回答  2018-04-05

form中的字段,加上get set方法        

private FormFile file;

private String filename;

private String filesize;

action 部分:

public ActionForward execute(ActionMapping mapping, ActionForm form,

HttpServletRequest request, HttpServletResponse response)

throws Exception {

String dir="D:/";

UpFileForm uff=(UpFileForm)form;

FormFile file=uff.getFile();

if(file.getFileSize()==0){

return mapping.findForward("success");

}

String fname=file.getFileName();

String size=Integer.toString(file.getFileSize())+"bytes";

InputStream streamIn=file.getInputStream();

OutputStream streamOut=new FileOutputStream(dir+"/"+fname);

int bytesRead=0;

byte[] buffer=new byte[8192];

while((bytesRead=streamIn.read(buffer,0,8192))!=-1){

streamOut.write(buffer,0,bytesRead);

}

streamOut.close();

streamIn.close();

uff.setFilename(fname);

uff.setFilesize(size);

file.destroy();

return mapping.findForward("success");

}

这样将上传的文件存在d盘。

本回答被网友采纳