Websphere是否正确使用MultiPartConfig位置?

时间:2017-11-06 11:13:41

标签: java websphere-liberty servlet-3.0

来自JavaDocs:

  

@MultipartConfig注释支持以下可选属性:

     

location:文件系统上目录的绝对路径。 location属性不支持相对于应用程序上下文的路径。此位置用于在处理部件时或文件大小超过指定的fileSizeThreshold设置时临时存储文件。默认位置为“”。

然而,

location="\Temp"

正在上传的文件位于:

\Servers\IBM\wlp\usr\servers\app\workarea\org.eclipse.osgi\113\data\temp\default_node\SMF_WebContainer\app-ear\app-1.0-SNAPSHOT\Temp\upload__4529d7ce_15f90e11b66__7ff3_00000002.tmp

这不是配置中给出的绝对路径。

我们如何指定正确的文件夹?

更新:

见保罗的答案如下。将'C:/ Temp'指定为位置就可以了。

1 个答案:

答案 0 :(得分:0)

Servlet 3.0规范在@MultipartConfig的描述中非常模糊。但是,最新版本的Servlet规范说明如下:

  

javax.servlet.annotation.MultipartConfig的location属性   并将其元素解释为   绝对路径,默认为   javax.servlet.context.tempdir。如果指定了相对路径,则为   将相对于tempdir位置。绝对路径的测试   vs相对路径必须通过java.io.File.isAbsolute完成。

Windows在这种情况下平台的重要性是因为java.io.File.isAbsolute()行为取决于所使用的操作系统:

所以看起来isAbsolute()在你的情况下返回false,如果你遵循File JavaDoc中的指导,你应该能够获得你想要的文件。