最近公司要求做一个上传pdf文件后将文件转换为翻页图片的小工具,我是这么做的

1.先找图片翻页的demo,微软有现有的产品turn.js感兴趣的可以自己看一下 ,有双页的有单页的,因为我司要求手机端使用,所以用的是单页的demo,我下面会附我的demo链接;

2.解决pdf文件转图片的功能开发;先是在配置文件里写固定路径读取文件,之后再说上传的入口;

3.提供上传文件功能,将文件直接转换图片;

问题就出在了第3步上,因为是个小工具,所以我就直接创建的一个javaweb项目,没有使用任何框架。

在前端写好jsp后,利用form表单进行file类型文件的传递,后天获取的值始终是null;

上网查了一下午,总结了一下个原因(当然,只有最后一个原因才是我遇到的问题原因)

原因一:前后端name值不一样,或者前端根本没有设置name值;

这里的name值必须设置,且一样;

第一个原因很初级,基本是小白会犯的错。

原因二:form表单没有设置enctype属性;

在提交普通类型时,此属性不需要设置,但是如果有文件类型的内容,则必须要设置该属性enctype="multipart/form-data";

其实在排查这个问题的时候,有一个疑问,就是设置了这个属性的时候,其他类型的值反而传到后台是null,很是奇怪(希望大神指教);

原因三:在提交文件类型时,method必须是post;

无论是前台form的method还是后台servlet的执行方法都需要post和doPost()运行;

原因四:文件内容太大,导致容器溢出,需要去tomcat的conf-server.xml文件中配置;

<Connector port="8080" protocol="HTTP/1.1"connectionTimeout="20000"redirectPort="8443" maxPostSize="-1" />

原因五:后台servlet需要MultipartConfig注解;

前面说了,我在刚开始做的时候认为是个小工具,完全不需要搭框架,所以在前面4个原因都排除了的情况下仍然没有解决问题,怪上火的,研究了半天知道是需要添加注解;

这个注解有一些要求就是需要spring的框架,和servlet3.0版本才可以;

查看servlet版本方法:找到tomcat安装包 - lib - servlet-api.jar 版本 拷贝出来 解压 在META-INF - MANIFEST.MF 用notepad++打开

Manifest-Version: 1.0
Ant-Version: Apache Ant 1.9.3
Created-By: 1.6.0_45-b06 (Sun Microsystems Inc.)
X-Compile-Source-JDK: 1.6
X-Compile-Target-JDK: 1.6

Name: javax/servlet/
Specification-Title: Java API for Servlets
Specification-Version: 3.0
Specification-Vendor: Sun Microsystems, Inc.
Implementation-Title: javax.servlet
Implementation-Version: 3.0.FR
Implementation-Vendor: Apache Software Foundation

添加spring的方法:

需要5个包:

commons-logging-1.2.jar
spring-beans-4.3.7.RELEASE.jar
spring-context-4.3.7.RELEASE.jar
spring-core-4.3.7.RELEASE.jar
spring-expression-4.3.7.RELEASE.jar

添加到web app library下 在web.xml里配置

 <listener><listener-class>org.springframework.web.context.ContextLoaderListener</listener-class></listener><!-- 默认配置在WEB-INF目录下 --><context-param><param-name>contextConfigLocation</param-name><param-value>classpath:/applicationContext.xml</param-value>   <!-- <param-value>/WEB-INF/spring*.xml</param-value> --></context-param>

在src下建立applicationContext.xml 内容如下

<?xml version="1.0" encoding="UTF-8"?>
<beansxmlns="http://www.springframework.org/schema/beans"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xmlns:p="http://www.springframework.org/schema/p"xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-3.0.xsd"></beans>

这样就可以正常使用注解啦~

原因六:又来了。。。其他方式获取part

做了与另一个项目的整合,原来的项目只用了spring的一个配置,整合到springMVC时加入MultipartConfig时Controller跳不进去(怪我太菜),但是用原有的方法获取文件 不得不加此注解,但是Controller是首先要跳进去的 ,所以只能放弃注解方式,用原始request方式迂回获取文件(前提是调试模式request是有值的,但是在获取part是null)

所以试试能不能直接在request里取出文件 ,看到有个multipartFiles属性,在调试计算器里试着找,果然找到了

点击完是这个

进行了一个转义,但是好在能取到,所以将原来代码修改,这里就不需要@MultipartConfig注解了

这样就获取到文件啦~

上传pdf文件转图片翻页小工具,遇到JSP form中type=file的文件上传及后台Part处理问题(后台取值为null)相关推荐

  1. html图片 3d切换特效,一款基于css3的3D图片翻页切换特效

    今天给大家分享一款基于css3的3D图片翻页切换特效.单击图片下方的滑块会切换上方的图片.动起你的鼠标试试吧,效果图如下: 实现的代码. html代码: Bedouin Blue-green Dram ...

  2. java中生成pdf,插入图片,页眉、页脚、表格

    全栈工程师开发手册 (作者:栾鹏) java教程全解 java中生成pdf,插入图片,页眉.页脚.表格 import com.lowagie.text.*; import com.lowagie.te ...

  3. 网页特效——图片翻页和图片滚动的实现方法

    1. 图片翻页特效: 效果:多张图片逐个翻页显示,也可用鼠标点击图片区域下方的页码手动翻页.每张图片上都可添加链接引向不同位置的帖子. 演示:在专刊盛世奥运之奢华盘点上半部分中间"华美谢幕& ...

  4. python翻页_如何用python tkiner实现图片翻页功能

    如何用python tkiner实现图片翻页功能 发布时间:2020-06-26 12:52:59 来源:亿速云 阅读:108 作者:Leah 如何用python tkiner实现图片翻页功能?针对这 ...

  5. Html5图片翻页制作,HTML5超酷名片盒风格3D翻页图片画廊

    在前面我们讲解了一个使用纯CSS制作3D百叶窗效果,今天我们要来制作一个类似名片盒的3D翻页图片画廊.在这个效果中,我们将使用一个HTML5 range输入框元素来控制图片画廊的前后翻页.这个rang ...

  6. python爬取百度图片——翻页式网站爬取

    小编大约于这个月月初写的这一份代码,但很不幸,大概20号,再次找百度图片翻页流的时候,发现是瀑布流且回不去了,还好代码里面留了翻页流的网址 所以,现在来分享给大家. 语言:python3.6 库:re ...

  7. max格式转obj小工具_PDF文件转JPG等图片格式的小工具

    不点蓝字,我们哪来故事? 今天小夭给大家介绍一个好用的PDF文件转JPG/PNG等图片格式的小工具,非常简单好用.它是一款免费的软件,一款体积小巧的PDF转换为图片文件的软件.PDF转JPG工具可以将 ...

  8. c语言.jpg图片转成数组_PDF文件转JPG等图片格式的小工具

    不点蓝字,我们哪来故事? 今天小夭给大家介绍一个好用的PDF文件转JPG/PNG等图片格式的小工具,非常简单好用.它是一款免费的软件,一款体积小巧的PDF转换为图片文件的软件.PDF转JPG工具可以将 ...

  9. c语言.jpg图片转成数组_良心推荐!4 款PDF转JPG图片的免费在线工具,让你早下班3小时!...

    每天面对大量文案工作,PDF文件因为自身强大的保密功能深受各大公司喜爱.然而PDF文件不能编辑,特殊情况下,需要转化成JPG图片,搜遍了网上推荐的转换工具. 经过亲身实践,良心推荐4 款PDF转JPG ...

最新文章

  1. php 小技巧总结,PHP学习的技巧是什么 PHP学习的技巧和学习的要素总结
  2. 77.Linux系统日志,screen工具介绍
  3. 三十、开始R语言之旅
  4. 计算机科学与技术专业导向ppt,计算机科学与技术专业导向讲座 第讲.ppt
  5. JavaScript记录一下
  6. 根据varchar排列是怎么比大小的_骨架大小怎么看?肩宽、胸腔宽、胯宽是关键,加码大骨架穿搭技巧...
  7. 如何直观的长时间统计Android应用的动态内存消耗
  8. Fedora 25-64位操作系统中安装配置Hyperledger Fabric过程
  9. matlab如何生存对称矩阵,如何使用Matlab产生对称矩阵
  10. 中国网络视频用户付费市场规模较去年同比增长迅猛
  11. 关于学期结束的一些题目的记录
  12. 欧普LED灯维修记录及原理解密
  13. Lambda表达式和方法引用综合案例(获取年龄最大的两个用户的 姓)
  14. 投资人为什么盯上了这些“小巨人”?
  15. logstash 日志_面试和书评:LogStash书,使日志管理变得容易
  16. PBR来龙去脉九:继续Unreal的IBL部分
  17. 软件设计模式“单例模式”和“工厂模式”
  18. hdu-4745 Two Rabbits
  19. 阿里无影云电脑是什么?现在哪个云电脑更好用?
  20. 小伙入职某互联网大厂的一天(1)

热门文章

  1. 作用域和改变this指向
  2. xPC信号采集和分析(1)
  3. 安卓九宫格上传图片(微信朋友圈,QQ动态)小demo
  4. 2022危险化学品生产单位安全生产管理人员考题及在线模拟考试
  5. html 添加physical,布局规划-1 在设计中添加physical only cells
  6. JAVA:获取用户访问ip地址
  7. android系统手机流量控制方法,如何实现Android手机流量的控制
  8. 在线评测系统设计与实现
  9. 爱思助手更新后无法连接服务器,《爱思助手》操作失败解决办法(图文)
  10. Git扩展工具--GitExtension的安装和配置--2021-8-22