在学习Servlet文件上传方面遇到了一个问题,就是通过multipart/form-data这个表单类型提交要上传的文件的时候,Servlet用request.getParameter()方法获取非文件的数据时发现为空。

具体如下

jsp页面

<body><form action="${pageContext.request.contextPath}/uppicture" method="post"  enctype="multipart/form-data" >昵称:<input type="text" name="name"><br><div><img src="${image_path}" width="200" height="200"></div>头像:<input type="file" name="uploadFile"> <input type="submit" value="上传头像"/></form>

用String name=request.getParameter("name")时发现name的值为空

解决方法如下

通过遍历,判断哪些上传是文件类型,哪些不是,若是普通文件类型,通过item.getFieldName()获取普通表单的属性,item.getString("UTF-8")获取属性对应的值。

List <FileItem> items = upload.parseRequest(request);//遍历for(FileItem item:items){//若item为普通表单项if(item.isFormField()){//获取表单中属性名称String fieldName = item.getFieldName();if(fieldName.equals("name")){//获取表单属性的值String name=item.getString("UTF-8");}System.out.println(fieldName+"="+name);

用multipart/form-data提交表单文件数据获取不了解决办法相关推荐

  1. 使用jquery.form.js提交表单并获取后台返回值

    使用jquery.form.js提交表单并获取后台返回值,会把所有有name属性的值提交到后台 1.前台js代码 //使用jquery.form.js提交表单并获取后台返回值,会把所有有name属性的 ...

  2. Jquery.form自动提交表单上传图片

    先引入相关js文件 1 2 <script type="text/javascript" src="jquery-1.7.2.min.js">< ...

  3. ajax提交后立刻刷新,Ajax提交表单页面刷新很快的解决方法

    注:使用ajax 提交表单时 type类型最好不用submit 用button合适 function formCheck(){ $.ajax({ type: "post", url ...

  4. oracle 表空间文件达到32G后解决办法

    数据库报错:"ORA-01654: 索引...无法通过8192(在表空间...中)扩展".或者:ora-01652无法通过128(在表空间temp中)扩展temp段,这种错误信息时 ...

  5. 基于 SpringMVC 的 POST 提交表单出现 405 错误的解决方法之一

    现象 利用 SpringMVC 后端框架,在页面利用表单 (method="post") 提交数据,结果页面报 405 错误,提示 "Request method 'PO ...

  6. vue fromData提交表单(文件)的同时 axios通过将token封装一起发送,Springboot后端拦截器通过request.getParameter获取,Redis验证token

    一.前端: 1.在封装好的axios接口: import axios from 'axios'axios.defaults.withCredentials = true;// 允许跨域携带cookie ...

  7. SpringMVC使用form标签提交表单信息出现Invalid property 'department' of bean class的问题及解决办法

    首先先贴出原代码 <form:form action="emp" method="POST" modelAttribute="employee& ...

  8. layui.form用ajax提交表单时的问题(巨坑)

    主要问题:使用layui的form组件用ajax提交表单发送请求时,总是无法收到回调函数,success与error中的回调均不执行,且该表单会自动刷新. 解决办法:在提交表单的方法form.on() ...

  9. php ci提交表单验证,ci表单验证代码

    概述 这是只考虑php对表单数据的接收处理.至于js部分以前会结合validate来讲解下 在解释 CodeIgniter 的数据验证处理之前,让我们先描述一下一般的情况: 一个表单显示了. 你填写并 ...

最新文章

  1. 取出json中的数据php,怎么从Json中取出数据放到一个新组中
  2. python编写测试工具-python 写一个性能测试工具(一)
  3. vijos 1448 校门外的树 树状数组
  4. python是c语言写的吗-C语言是学python的基础吗?
  5. Eclipse与MyEclipse增加主题
  6. opencv 线性滤波器
  7. matlab var求方差
  8. 100*100的 canvas 占多少内存?
  9. java生成json字符串,威力加强版
  10. Python 操作 pymysql 批量 增、删、改、查
  11. 慧材技术中核普达测量与测绘系统介绍(一)
  12. 如果REST应用程序应该是无状态的,那么如何管理会话?
  13. 387.字符串中的第一个唯一字符
  14. win10 64位系统 excel2016 vba odbc方式 访问 oracle远程数据库 免安装oracle客户端
  15. webstorm破解之jar包破解(2018)
  16. 软考高级网络规划设计师历年论文真题汇总2009-2021
  17. matlab 冒泡排序函数,MATLAB实现冒泡排序算法
  18. php实现条形码生成,thinkPHP框架实现生成条形码的方法示例
  19. Typora编辑数学公式
  20. 该文件没有程序与之关联来执行该操作问题的解决

热门文章

  1. How to encrypt and decrypt the Caesar Cipher with python(Ⅱ)
  2. 一道经典的黑白帽子问题
  3. HM4056D一款完整的单节锂离子电池充电器IC
  4. APM最佳实践: 诊断平安城市视频网性能问题
  5. Unity简单第一人称移动和摄像机旋转
  6. Template、ItemsPanel、ItemContainerStyle、ItemTemplate
  7. Seeker的奇妙求职冒险(杰杰的字节笔试)
  8. vijos 积木城堡
  9. 组图:1948年伦敦奥运会
  10. 算法设计与分析递归概念之阶乘函数