Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/spring/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/amazon-web-services/12.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
WebSphere9.0中的Java文件_Java_Spring_Spring Mvc_Java 8_Websphere - Fatal编程技术网

WebSphere9.0中的Java文件

WebSphere9.0中的Java文件,java,spring,spring-mvc,java-8,websphere,Java,Spring,Spring Mvc,Java 8,Websphere,在我的spring应用程序中,我试图使用 File tmpFile = new File(System.getProperty("user.dir") + File.separator + file.getOriginalFilename()); 该文件在Tomcat环境中的temp目录下正确创建 但是,将其部署到websphere时,java试图写入的路径是 C:\程序 Files\IBM\WebSphere\AppServer\u 1\profiles\AppSrv01\temp\WIN7

在我的spring应用程序中,我试图使用

File tmpFile = new File(System.getProperty("user.dir") + File.separator + file.getOriginalFilename());
该文件在Tomcat环境中的temp目录下正确创建

但是,将其部署到websphere时,java试图写入的路径是

C:\程序 Files\IBM\WebSphere\AppServer\u 1\profiles\AppSrv01\temp\WIN7VSNode04\server1\application\application.war\C:\Program Files\IBM\WebSphere\AppServer\u 1\profiles\AppSrv01\file 附:分机

引发文件未找到异常(文件名、目录名或卷标语法不正确)

是否有一些java设置需要更改为websphere环境?这可能是什么原因造成的

提前谢谢


干杯。

在您的问题中,您将新文件声明到临时目录,但在您的代码中,您实际上使用了系统属性
user.dir
,其中包含。要在临时目录中写入文件,请使用或系统属性
java.io.tmpdir


请仅使用
file.getOriginalFilename()
返回的值中的文件名部分。例如,您可以通过

来检索文件名。getOriginalFilename()中发生的任何事情看起来都不同-这不是Java API方法,而且看起来它可能会以某种方式额外添加Java工作目录。如果您可以共享该方法的逻辑,它可能会很有用。file.getOriginalFilename()是的,它不是一个java API,而是spring中的一个方法,它提供了扩展名为“String org.springframework.web.multipart.MultipartFile.getOriginalFilename()”的文件名。您的问题是连接了“user.dir”目录(C:\Program Files\…)与File.separator和整个文件名(C:\Program Files\IBM\…)一起使用,但不能给出正确的文件名。@getOriginalFileName()的Michal仅提供带扩展名的文件名,而不提供其完整名称path@Harish:您的意思是user.dir的值仅包含C:\Program Files\IBM\WebSphere\AppServer\U 1\profiles\AppSrv01\temp\WIN7VSNode04\server1\application\application.war\C:\Program Files\IBM\WebSphere\AppServer\U 1\profiles\AppSrv01\fjava.io.tmpdir给我java临时path来自系统变量,例如c:/java/temp…这在我的案例中是不需要的,createTempFile()使用提供的前缀和后缀名创建一个虚拟临时文件。。。。。