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

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了ajax上传文件提交时,enctype=multipart/form-data怎么带过去?相关的知识,希望对你有一定的参考价值。

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

目前的情况下,没有直接ajax提交file的可能
有一些js库你可以使用,他们做的方法往往是在页面新建一个iframe,然后在frame里面建一个file的input组件,然后在那个frame里面走submit
这样就做成了异步的样子,submit那个的form你就可以设置enctype了
参考技术A

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盘。

以上是关于ajax上传文件提交时,enctype=multipart/form-data怎么带过去?的主要内容,如果未能解决你的问题,请参考以下文章

前端文件上传-javascript-ajax

js获取上传文件内容,ajax提交

django中通过文件和Ajax来上传文件

工作中如何使用ajax提交form表单,包括ajax文件上传

Ajax方式上传文件

ajax 表单上传文件