编写SMM项目,上传zip文件报错

代码在执行到 此处时

ZipInputStream zipInputStream = new ZipInputStream(new FileInputStream(file))

上传文件报错
报错内容C:\Users\用户\\.IntelliJIdea2017.1\system\tomcat\项目名称\work\Catalina\localhost\ROOT\upload_d80c742e_a6ec_432a_b644_bd403f2938c6_00000000.tmp (系统找不到指定的文件。)

项目用的是SSM框架,是用来整合activiti的项目,采用zip上传文件的形式部署流程。 一开始是以为自己的配置文件有错,后来看了半天也没看出来。

感觉没啥错误呀,网上查看半天也没啥结论,后来偶尔测试一下发现其他的文件上传却是没啥问题,此时就感觉到头疼了。

经过查找发现这个目录C:\Users\用户\.IntelliJIdea2017.1\system\tomcat\项目名称\work\Catalina\localhost\ROOT\

这个目录是用来存储临时文件的目录,每次tomcat重启都会将此目录删除重建。

每当有文件上传的时候,系统就会去到这么一个目录中找寻一个临时文件然后再读取该临时文件,找不到就会报错

然后就发现其他文件都能上传,只有activiti的zip这个文件上传不了

为什么只有这个zip文件不会创建临时文件?难道是因为格式的问题?这个想法思索了很久,找了很多博客也没有一个解决方案,最后再一个巧合的情况下突然发现,springMVC在配置上传文件的配置文件中缺少了一个参数

maxInMemorySize 这个参数指的是文件的大小,如果超过这个限制就会在临时目录下创建临时文件,而如果小于这个值,文件则直接在留在内存中,然后我突然明白了,我的那个zip文件是7kb应该是小于了默认值,所以才不会去创建这么一个临时文件,但是当代码执行到此处时

ZipInputStream zipInputStream = new ZipInputStream(new FileInputStream(file));

还是会去临时工作目录中找临时文件,发现找不到,于是就报这个错误。

C:\Users\用户\\.IntelliJIdea2017.1\system\tomcat\项目名称\work\Catalina\localhost\ROOT\upload_d80c742e_a6ec_432a_b644_bd403f2938c6_00000000.tmp (系统找不到指定的文件。)

所以当设置好这个参数后 ,就能上传成功了。但是注意0KB 的文件是依然上传不成功的除非是1KB 的文件

uploadTempDir 这个参数可以修改缓存文件的地址,不赋值的话就默认为上面那一大长串的地址,赋值之后则可以自己控制了,一般还是自己控制的比较好,因为如果项目启动时间很长,几天之后这个目录就会被自动回收掉,然后就会上传报错。

还有这个 temp 文件夹是在webapp 目录下的

C:\Users\xx\.xxxxxx\system\tomcat\xxx\work\Catalina\localhost\ROOT(系统找不到指定文件)相关推荐

  1. Tomcat SSL Failed to load keystore type JKS with path 系统找不到指定文件

    Tomcat6 启用 SSL,配置 <Connector port="8443" protocol="org.apache.coyote.http11.Http11 ...

  2. windows虚拟机打不开文件D:/xxx/xx 000008.vmdk 系统找不到指定文件

    有没有特别懂这个问题的啊 求求了,看了好多文章都不是我这个问题,还有的都是转发复制

  3. VS调试C++程序,提示无法启动程序,“xx.exe”。系统找不到指定文件的解决办法

    在测试项目时遇到的问题,好多博文推荐修改输出目录,或者存在多个main函数,但是对于初学者来说,只要自己未修改过相关路径,上述两种方案均不适用,最后在别的博主中发现是当初的安装问题,添加之前未安装过的 ...

  4. Tomcat报错系统找不到指定的路径

    自定义View系列教程00–推翻自己和过往,重学自定义View 自定义View系列教程01–常用工具介绍 自定义View系列教程02–onMeasure源码详尽分析 自定义View系列教程03–onL ...

  5. tomcat在conf/Catalina/localhost目录下配置项目路径

    转自:http://wangyl93-dl-cn.iteye.com/blog/1508517 在tomcat的conf/Catalina/localhost目录下配置项目路径,tomcat启动是会直 ...

  6. System.Security.Cryptography.RSA.FromXmlString 系统找不到指定的文件和X509读取证书文件系统找不到指定的文件异常

    System.Security.Cryptography.RSA.FromXmlString 系统找不到指定的文件和X509读取证书文件系统找不到指定的文件异常 参考文章: (1)System.Sec ...

  7. eclipse中启动tomcat报错:系统找不到指定路径

    C:\Program Files\Apache Software Foundation\Tomcat 9.0\backup\catalina.policy (系统找不到指定路径)- 找了小半天,网上都 ...

  8. C# DLL异常System.IO.FileNotFoundException:Could not load file orassembly BouncyCastle.Crypto系统找不到指定的文件

    异常信息:System.IO.FileNotFoundException:"Could not load file or assembly 'BouncyCastle.Crypto, Ver ...

  9. System.ComponentModel.Win32Exception: 系统找不到指定的文件

    问题描述: System.ComponentModel.Win32Exception: 系统找不到指定的文件.    在 System.Diagnostics.Process.StartWithShe ...

  10. 报错System.ComponentModel.Win32Exception:“系统找不到指定的文件。”

    问题: 使用C#语言在Visual Studio2019中运用RichTextBox控件添加超链接,运行程序点击超链接报错System.ComponentModel.Win32Exception:&q ...

最新文章

  1. 将DBF,XLS,XML,MDB文件导入C#DataGrid的方法
  2. 每日一皮:一个名字打败对手的经典案例...
  3. IT大佬整理的Python机器学习十大算法案例
  4. SAP 修改物料价格那些事
  5. 【Python基础】Python的元组,没想象的那么简单
  6. Fragment的生命周期和activity如何的一个关系
  7. 最全目标检测相关资料整理 (目标检测+数据增强+卷价神经网络+类别不均衡...)
  8. Incorrect string value: '/xE7/xA8/x8B/xE5/xBA/x8F...' for column 'course' at row 1
  9. python的实例属性_python 实例属性和类属性
  10. EXT ajax简单实例
  11. DirectX (13) 粒子系统
  12. Spring在Web中的应用
  13. (转)黄金交易革命即将到来?区块链技术让你像刷卡一样“刷黄金”
  14. node-red 可视化_可视化和注意-第4部分
  15. 如何从python官网下载模块-Python各种模块下载及安装配置
  16. 【解决】速达服务启动失败,文件无效
  17. 微信小程序---wxss模板样式
  18. 自己组装nas服务器万兆,我用最便宜的方法,配了一套万兆 NAS
  19. 荣耀3x android 5.0,华为荣耀3X畅玩版_EMUI2.3_Android4.4_完整
  20. java adobe ocr_Acrobat自带的OCR识别文本功能提取图片文字

热门文章

  1. tomcat 启动编码设置
  2. 单片机c语言fft函数,单片机ADC采样FFT计算试验
  3. 数学建模各种软件对比(MATLAB/Lingo/SAS/SPSS)
  4. adb提示已停止工作问题的解决方案
  5. Qt学习-------常用控件
  6. 计算机三级数据库要安装什么软件,计算机三级数据库技术题库app
  7. 西电Pintos操作系统课程设计 实验三
  8. Unity3D数字孪生笔记——Unity脚本篇
  9. 泛微OA ecology 您查看的文档过大,请下载文档后查看
  10. java的安装_java 安装步骤