一、问题场景:

前阵开发一个报表功能,功能简单描述为上传一个excel文件,读取里面已有的内容,进行一些查询操作,填充一些数据进去返回给用户下载。系统里已有类似功能,笔者使用之前的上传模块,发现文件不能上传成功,一闪即过,测试以前别人做的功能也是一样,后使用别人机器访问我机器上应用,发现有些人可以,有些人不行,跟个人机器有关。

二、问题分析:

1、首先对多台机器访问同一台应用进行测试,测试结果不一样,每台机器结果是稳定不变的,所以排除服务器配置问题(开始认为)。

2、对多个浏览器进行测试,排除浏览器兼容性问题。检查浏览器设置,未发现特别配置选项,机器或浏览器个性化配置存在可能性问题。

3、检查后台发现如下日志:

Feb 24, 2014 11:11:30 AM com.opensymphony.xwork2.util.logging.commons.CommonsLogger info

INFO: Unable to find ‘struts.multipart.saveDir’ property setting. Defaulting to javax.servlet.context.tempdir

Feb 24, 2014 11:11:31 AM com.opensymphony.xwork2.util.logging.commons.CommonsLogger warn

WARNING: Content-Type not allowed: excelFile “test.xls” “upload__13a393f7_14461e04261__8000_00000000.tmp” application/kset

最开始未注意该段日志, 因为开始武断地否认是服务器配置问题,日志级别又不是error,所以未引起重视,后来才渐渐发现问题。info那句是表明没有设置struts上传文件的临时目录,从而系统使用了默认的临时目录。关键warning一句,application/kset不允许上传的文件类型,kset,当时笔者没看懂,以为是struts自己处理的什么东西,因为笔者上传文件类型就是xls类型的。后来发现真正的文件类型是application/kset,这里文件类型是指我们常用的MIME类型,而服务器报application/kset是不允许上传的文件类型,百度发现为WPS的MIME文件类型。

三、问题解决:

1、配置struts上传的拦截器,在allowedTypes中加入application/kset,重启应用,问题解决。

2、继续回顾该问题,网上有文章说是因为安装wps引发的,但测试时,没有问题的几台机器也是安装了wps,最后找到一个可能的原因,出现问题的都是装的wps2013,很新的版本,所以猜测应该是新版的wps的MIME类型为application/kset,而旧版的应该是同excel一样,为application/excel、application/vnd.ms-excel。

java 读取excel wps_安装WPS引发的excel上传问题相关推荐

  1. 安装wps导致 application/kset 上传文件类型报错解决办法

    电脑中安装wps上传execl时,上传.xls文件时 报错 application/kset 文件类型不正确 打印array() print_r($_FILES ) 结果如下: Array ( [us ...

  2. 个人永久性免费-Excel催化剂功能第102波-批量上传本地图片至网络图床(外网可访问)...

    自我突破,在100+功能后,再做有质量的功能,非常不易,相对录制视频这些轻松活,还是按捺不住去写代码,此功能虽小,但功课也做了不少,希望对真正有需要的群体带来一些惊喜. 背景介绍 图床的使用,一般是写 ...

  3. Linux下rz/sz安装及使用方法_上传和下载文件

    2019独角兽企业重金招聘Python工程师标准>>> Linux下rz/sz安装及使用方法_上传和下载文件 转载于:https://my.oschina.net/276172622 ...

  4. 微信小程序 语音录制功能和文件(ppt、word、excel、pdf、txt格式)上传

    语音录制 提醒:因为开发者工具不能接收语音文件,所以要使用真机调试测试噢~ 思路:使用小程序API wx.startRecord .wx.stopRecord 方法(调用前 记得 app.js 添加 ...

  5. Java大数据培训学校全套教材-19)上传,中文处理,url含中文-马克-专题视频课程...

    Java大数据培训学校全套教材-19)上传,中文处理,url含中文-9人已学习 课程介绍         "java大数据培训学校全套教材"系列课程由750集视频构成,基本就 是1 ...

  6. php is uploaded file,is_uploaded_file函数引发的不能上传文件问题

    is_uploaded_file函数引发的不能上传文件问题 更新时间:2013年10月29日 16:20:11   作者: 不能上传文件,都返回失败.经过排查发现是PHP中的is_uploaded_f ...

  7. Java springboot项目引入腾讯云COS实现上传

    Java springboot项目引入腾讯云COS实现上传 pom.xml 配置类CosConfig.java 上传工具类CosClientUtil.java pom.xml <!--腾讯云上传 ...

  8. java 通过id获取html代码_Maven私服安装配置,java通过私服下载代码,并打包后上传到私服(Nexus)...

    Maven私服一般安装Nexus. 首先,Nexus下载,访问Nexus官方网址https://www.sonatype.com/download-nexus-repo-oss 下载完成后是个压缩包 ...

  9. vue excel导入mysql详细教程_Vue前端上传EXCEL文件,后端(springBoot+MyBatis+MySQL)解析EXCEL并批量插入/更新数据库...

    文章目录 Vue前端 后端 controller层 service层:如何解析Excel文件 MyBatis:实现批量插入 在mysql中设置唯一索引Unique Index MySQL中的inser ...

最新文章

  1. 服务器群安装系统,服务器安装总结
  2. SolrJ商品搜索实现
  3. python数据结构与算法分析_数据结构和算法分析
  4. Linux Vim基本操作(文件的打开和编辑)完全攻略(有图有真相)
  5. 传智php入学测试题,传智播客PHP 0912 基础班 入学测试题
  6. 第七章节 类的抽象(抽象类)
  7. 软件架构入门,看这篇就够了···
  8. [Javascript]js中所学知识点回顾总结
  9. Canvas 画贝塞尔曲线(二阶曲线和三阶曲线)
  10. iOS定位添加大头针
  11. imagemagick 图片合并
  12. 日历---C++封装一个Date类,Calendar类,实现简单的日历+日期计算器程序
  13. 西安三本计算机专业可报院校,西安三本大学前十名, 西北大学现代学院仅第四...
  14. cytoscape.js在vue项目中的安装及案例
  15. 电话号码344格式,修改也保持344格式
  16. intellij idea svn不能更新和提交
  17. 蓝色默认蓝色色值_美丽的蓝色网站展示
  18. “实践与理论相结合”是开发人员的学习之道
  19. HarmonyOS实战—可编辑的卡片交互
  20. 一些IT公司笔试真题汇总

热门文章

  1. 【学习 OpenCV】—— 色彩空间(RGB、HSV、rgb2hsv、rgb2gray 的实现)
  2. post postman 传递数组对象_okhttp传递数组参数
  3. java assert可以检查exception吗_PETCT检查可以排查大肠癌吗?
  4. 零基础学python-看完这篇,零基础也知道怎么学Python
  5. 学python有前途吗-入门学习Python编程有前途吗?
  6. python和c先学哪个-初学者python和c语言先学哪个好呢?
  7. python练手经典100例-推荐几个适合新手练手的Python项目《python入门例子》
  8. Vue SEO解决方案
  9. 使用vue创建自己的项目
  10. suse mysql 库文件_suse 10 下mysql安装