Java 上传 文件 出现 “文件名、目录名或卷标语法不正确” 的提示

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Java 上传 文件 出现 “文件名、目录名或卷标语法不正确” 的提示相关的知识,希望对你有一定的参考价值。

本地上传的时候正常,但是 局域网上传 是 就会出现 该错误。

java.io.FileNotFoundException: e:\xx\upload\Content-Disposition: form-data; name="filename"; filename="2.jpg (文件名、目录名或卷标语法不正确。)
at java.io.FileOutputStream.open(Native Method)
at java.io.FileOutputStream.<init>(FileOutputStream.java:179)
at java.io.FileOutputStream.<init>(FileOutputStream.java:102)
at org.apache.jsp.file_jsp._jspService(file_jsp.java:83)
at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:393)
at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:320)
at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:266)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
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:175)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:128)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:263)
at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:844)
at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:584)
at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:447)
at java.lang.Thread.run(Thread.java:619)

java.io.FileNotFoundException: e:\xx\upload\Content-Disposition: form-data; name="filename"; filename="2.jpg (文件名、目录名或卷标语法不正确。)
都很明显了,文件没有找到
参考技术A 在工程目录里创建一个文件夹 传到这个文件夹里 参考技术B FileNotFoundException
文件未找到哦,估计路径不正确,楼主好好检查
参考技术C 看看是不是文件名或者路径写错了,包括空格特殊符号什么的,我以前就碰到过这种问题 参考技术D windows的路径JAVA中是不识别的。本回答被提问者采纳

创建UmiJS项目时报错--文件名目录名或卷标语法不正确


title: 创建UmiJS项目时报错–文件名、目录名或卷标语法不正确
date: 2022-01-16 09:55:05
tags:


创建UmiJS项目时报错–文件名、目录名或卷标语法不正确

问题解决时参考的文档为yarn create umi报错文件名、目录名或卷标语法不正确。 - 無玑小姐 - 博客园 (cnblogs.com)

问题:

按照UmiJS官方文档的命令yarn create @umijs/umi-app创建项目的时候报错了,如下图

解决方案:

第一种(网上大多数是这种,但是我没成功,我用的第二种)

在node的目录下D:\\node\\node_global\\bin里有两文件,如图

右键create-umi.cmd 编辑 将文本改为如下,删掉前面‘%~dp0’符号,保存,之后的样子如图

此时不要重新yarn create umi,因为会重新覆盖原文件,只需create-umi即可,若是提示“不是内部或外部命令” 需要将create-umi.cmd 的目录添加到环境变量的path里

这种我照做了没有成功,因为执行yarn create @umijs/umi-app命令和他的yarn create umi命令不一样,我不知道怎么操作了,而且我如果重新执行yarn create @umijs/umi-app命令,发现还是图一的报错,然后来到create-umi.cmd文件里发现还是有‘%~dp0’符号,相当于又回到最初点了,确实是重新覆盖原文件了。也许是我操作有误,毕竟有很多人说这个方法能用,我用的第二种方法

第二种

使用yarn global bin查看yarn的目录(这里的路径是原帖的老哥的,我没有保存我的,就用的他的)

C:\\Users\\lenovo>yarn global bin
D:\\nodejs\\node_global\\bin

使用yarn global dir查看全局目录

C:\\Users\\lenovo>yarn global bin
D:\\nodejs\\node_global\\bin

发现原来是yarn目录和安装的模块不在相同的硬盘分区里导致的,修改 yarn的全局安装位置和缓存位置,把两个位置换为同一个就行了,命令为

yarn config set global-folder "D:\\yarnConfig\\yarn_global"
yarn config set cache-folder "D:\\yarnConfig\\yarn_cache"

再运行yarn create @umijs/umi-app命令就OK了

附:老哥说他还遇到了一个问题,如果创建项目的时候选择完之后创建的时候还报了一个错,去看他的原帖

以上是关于Java 上传 文件 出现 “文件名、目录名或卷标语法不正确” 的提示的主要内容,如果未能解决你的问题,请参考以下文章

java文件上传时提示(文件名,目录名或卷标语法不正确)

Java 上传 文件 报错:文件名、目录名或卷标语法不正确

命令提示符提示文件名,目录或卷标语法不正确怎么办

win8文件名目录名或卷标语法不正确怎么办?

jsp文件名 目录名或卷标语法不正确怎么办

文件名,目录名或卷标语法不正确是啥原因