form multipart-关于enctype问题, multipart/form-data

问题描述

关于enctype问题, multipart/form-data

the request doesn't contain a multipart/form-data or multipart/mixed stream, content type header is null,添加完信息之后到列表页,等一会就报这个错,求大神解答!enctype="multipart/form-data"这句已经在form里加上了

解决方案

现在的问题是,我debug之后,第一次都得到值了,而且也增加成功了,但是他还会再加载增加一次,这时候就全没有值了,重点是为什么要再加戴增加一次呢
org.apache.commons.fileupload.FileUploadBase$InvalidContentTypeException: the request doesn't contain a multipart/form-data or multipart/mixed stream, content type header is null
at org.apache.commons.fileupload.FileUploadBase$FileItemIteratorImpl.(FileUploadBase.java:908)
at org.apache.commons.fileupload.FileUploadBase.getItemIterator(FileUploadBase.java:331)
at org.apache.commons.fileupload.FileUploadBase.parseRequest(FileUploadBase.java:351)
at org.apache.commons.fileupload.servlet.ServletFileUpload.parseRequest(ServletFileUpload.java:126)
at com.icss.base.util.UploadFile.getParameter(UploadFile.java:227)
at com.icss.biz.calculateTaskManagement.controller.CalculateTaskManagementController.getMapOfRequest(CalculateTaskManagementController.java:304)
at com.icss.biz.calculateTaskManagement.controller.CalculateTaskManagementController.save(CalculateTaskManagementController.java:239)
at com.icss.biz.calculateTaskManagement.controller.CalculateTaskManagementController.performTask(CalculateTaskManagementController.java:88)
at com.icss.base.web.BaseController.doPerformTask(BaseController.java:103)
at com.icss.base.web.BaseController.doGet(BaseController.java:73)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:617)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:723)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at com.icss.base.web.EncodingFilter.doFilter(EncodingFilter.java:145)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at com.icss.base.web.SingleSignOnClient.doFilter(SingleSignOnClient.java:376)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at com.icss.tds.common.filter.ContextPathRequestFilter.doFilter(Unknown Source)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at com.icss.tds.common.filter.EncodingFilter.doFilter(Unknown Source)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:103)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:293)
at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:861)
at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:620)
at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:489)
at java.lang.Thread.run(Thread.java:619)
然后就报地堆这个异常

解决方案二:

ENCTYPE="multipart/form-data",这句话的意思是把你表单的所有信息以流方式提交,页面上的所有信息已经都转换为了文件流,为的是能让服务端得到你上传的文件的文件流。当然,你填写的一些文本信息也变成了流,用request.getParameter()方法当然得不到值了??

? 用request.getInputStream()来接收流数据吧......
答案就在这里:ENCTYPE=multipart-form-data

解决方案三:

也可能是你服务器的错误。你用的语言/框架是什么。

解决方案四:

java语言/没用框架,直接sevlet,tomcat

解决方案五:

你的到底是添加页面报测错误还是列表?意思是你的添加那个页面提交了2次数据到保存页面,一次又数据一次没有?自己检查下js是不是做了什么操作了,怎么会提交了了2次

解决方案六:

我觉得你可能是页面提交有问题吧,不然怎么会自己提交两次呢

时间: 2024-11-01 23:50:50

form multipart-关于enctype问题, multipart/form-data的相关文章

js动态在form上插入enctype=multipart/form-data的问题_表单特效

我们都知道要让form能提交文件,需要在form上指定enctype=multipart/form-data的attribute,这样才能上传文件,关于enctype的文章很多,就不再做解释. 问题是因为使用了MVC的Html.BeginForm()来输出表单代码,默认是没有加入enctype的, 复制代码 代码如下: @using (Html.BeginForm()) { } 在PartialView中有一个<input type="file" />用来上传文件,又不想为

浅谈jquery采用attr修改form表单enctype不起作用的问题_jquery

做文件上传,需要将表单元素的enctype设置为'multipart/form-data',用jquery的attr方法在目前较新的主流浏览器上测试均可成功,唯独IE下死活不行.后来查阅ie浏览器6,7,8(9+由于开发机为xp,未进行测试)不支持attr的方式来修改enctype属性,需要通过dom元素的原生方法来设置, 代码如下: $('#form1').get(0).encoding = 'multipart/form-data'; 以上这篇浅谈jquery采用attr修改form表单en

ebs form-在进行ORACLE ERP FORM报表二次开发时FORM关闭后出现进展红条,无法关闭

问题描述 在进行ORACLE ERP FORM报表二次开发时FORM关闭后出现进展红条,无法关闭 在进行ORACLE ERP FORM报表二次开发时遇到问题,FORM页面关闭后出现个大红条,无法关闭,不知道是什么原因.我在触发器PRO-FROM 和程序包主体中都已经添加了相关的窗口代码.具体如下:触发器app_window.set_window_position('AP_CHECKS', 'FIRST_WINDOW');程序包主体:if (wnd = '') then app_window.cl

javascript-关于JS读取form表单的问题,form中嵌套table,input标签放入table中

问题描述 关于JS读取form表单的问题,form中嵌套table,input标签放入table中 <html> <head></head> <body> <form id = "form1" name = "form1" action = "b.html" method = "post"> <table id = "tab" name =

基于jQuery通过jQuery.form.js插件使用ajax提交form表单_javascript技巧

我们在提交表单的时候,如果没有使用ajax提交,页面都会自己刷新一下,显得非常的不友好,所以我们需要把我们的表单提交修改为ajax的模式,可以让用户清楚地知道他们在提交表单的时候处在哪一个阶段:正在提交?提交成功? 我简单使用了一下,jQuery Form插件有一下优点: 1.支持提交前验证. 2.支持提交后回调. 3.采用AJAX方式,有很好的用户体验 4.提交方式是灵活.只要指定要提交的form ID即可.想提交那个form.就可提交那个.同时提交参数可配置. 5.支持提交多种类型数据.如:

struts 中&amp;amp;lt;s:form&amp;amp;gt;&amp;amp;lt;/s:form&amp;amp;gt;无法显示其中的控件

问题描述 刚开始学struts,遇到问题.代码如下:<%@pagelanguage="java"import="java.util.*"pageEncoding="GBK"%><%@taglibprefix="s"uri="/struts-tags"%><html><head><title>输入操作数</title></head&

form enctype:&quot;multipart/form-data&quot;,method:&quot;post&quot; 提交表单,后台获取不到数据

在解决博问node.js接受参数的时候,发现当form中添加enctype:"multipart/form-data",后台确实获取不到数据,于是跑到百度上查了一下,终于明白为什么了,下面转载一下原因吧: 1.get方式  get方式提交的话,表单项都保存在http header中,格式是  http://localhost:8080/hello.do?name1=value1&name2=value2这样的字符串.server端通过request.getParameter是可

ajax-如何用Ajax提交multipart/form-data类型的Form?

问题描述 如何用Ajax提交multipart/form-data类型的Form? 如何用Ajax提交multipart/form-data类型的Form? 解决方案 ajax中data参数传值的时候,用下边这种方式,传序列化的表单值就好了. data:$('#regForm').serialize()//.serialize()方法将form表单内所有数据组装 解决方案二: 在form里提交文件的时候一定要写 enctype=""multipart/form-data"&q

javaweb-关于表单提交 enctype=“multipart/form-data”,我有点概念不清晰的困惑

问题描述 关于表单提交 enctype="multipart/form-data",我有点概念不清晰的困惑 先上图, ①:我们平时提交的编码都是utf-8,gbk了,这里提到的编码方案,不理解. ②:我不理解他所谓的传输方式,以二进制的方式,怎么个实现过程. 反正整个这一块很困惑, 解决方案 (1)这里说的编码是指urlencode,不是字符的编码. (2)一般是把二进制转换为base64字符串,然后上传.为了直观看到数据怎么上传的,你可以安装一个fiddler,它可以拦截浏览器和服务