如何在wicket中正确处理文件上传

时间:2012-08-08 23:07:27

标签: wicket solaris wicket-1.5

我有一个文件上传页面,它接受一个文件并解析它。

活动顺序

  1. 用户上传文件
  2. 上传的文件被复制
  3. 复制的文件使用CPDetector
  4. 检查其编码
  5. 从复制的文件中确定的编码用于解析原始上载的文件
      在创建FileNotFoundException期间,在Solaris Test Server上
    • BufferedReader
  6. 复制的文件已删除
  7. 已解析/验证上传的文件
  8. 已解析的数据已保存到数据库
  9. 上传的文件被删除(我不记得我是在做这个还是Tomcat。)
  10. 整个过程适用于我的Windows 7工作站。如上所述,它在我的Solaris测试服务器上不起作用。在我完成解析之前,有东西(我怀疑是Tomcat)正在删除上传的文件。

    我在过程中看过目录,确实创建了一个上传的文件,但是在删除之前它持续不到一秒钟。它也应该进入/opt/tomcat/,但似乎是在/var/opt/csw/tomcat6/temp/目录中创建的。

    感谢您的帮助

1 个答案:

答案 0 :(得分:0)

我意识到这样回答我自己的问题可能是一种糟糕的形式,但是我想把它放在这里以防万一它可以帮助其他人。

问题原来是我如何访问文件。

我为测试服务器编写了用于Windows的硬编码文件路径和用于数据库加载的文件路径。 我将其切换为使用System.getProperty("catalina.home")+"/temp/" + filename 我也是第二次复制临时文件,所以我最终得到:

活动顺序(更改以粗体显示)

  1. 用户上传文件
  2. 上传的文件被复制
  3. 复制的文件使用 CPDetector
  4. 检查其编码
  5. 上传的文件会再次被复制,以确保副本无法解析
  6. 从复制的文件中确定的编码用于解析原始上载的文件
  7. 用于编码检测的副本已删除
  8. 解析/验证用于解析的副本
  9. 已解析的数据已保存到数据库
  10. 已解析的文件已删除。
  11. 上传的文件被删除(我不确定我是在做这个还是Tomcat。)