0

我在检票口中的文件上传表单有问题。我无法将任何文件上传到在线服务器。

这个脚本已经工作了,但有一段时间它停止了。

所以我搜索答案,但我得到了同样的错误。

我的代码等于:http ://www.mkyong.com/wicket/wicket-file-upload-example/ 不同之处在于文件夹路径不像示例中那样是本地的,而是通过 https 指向远程 url .

附加信息:

  • 服务器
    • 操作系统:Debian GNU/Linux 7 (wheezy)
    • 雄猫:雄猫 7
    • taget 文件夹中的权限:777
  • 当地的:
    • 雄猫:雄猫 7
    • JDK:1.7
    • 检票口:6

测试

  1. 打开上传站点
  2. 选择文件aa.png(服务器中不存在)
  3. 按上传

结果:

28 10 13 18:19:31:630 - ERROR - Unable to write file


java.io.IOException: The filename, directory name, or volume label syntax is incorrect at java.io.WinNTFileSystem.createFileExclusively(Native Method)

28 10 13 18:27:02:370 - ERROR - Unexpected error occurred
org.apache.wicket.WicketRuntimeException: Method onFormSubmitted of interface 

org.apache.wicket.markup.html.form.IFormSubmitListener 
targeted at [Form [Component id = form]] on component [Form [Component id = form]] `threw an exception`

Caused by: java.lang.reflect.InvocationTargetException
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
at java.lang.reflect.Method.invoke(Unknown Source)
at org.apache.wicket.RequestListenerInterface.
internalInvoke(RequestListenerInterface.java:258)
... 30 more
Caused by: java.lang.IllegalStateException: Error
at com.myproject.presentation.utils.examples.FileUploadPage$1.onSubmit(FileUploadPage.java:51)
at org.apache.wicket.markup.html.form.Form$9.component(Form.java:1246)
at org.apache.wicket.markup.html.form.Form$9.component(Form.java:1240)
at org.apache.wicket.util.visit.Visits.visitPostOrderHelper(Visits.java:274)
at org.apache.wicket.util.visit.Visits.visitPostOrder(Visits.java:245)
at org.apache.wicket.markup.html.form.Form.delegateSubmit(Form.java:1239)
at org.apache.wicket.markup.html.form.Form.process(Form.java:921)
at org.apache.wicket.markup.html.form.Form.onFormSubmitted(Form.java:767)
at org.apache.wicket.markup.html.form.Form.onFormSubmitted(Form.java:700)
... 35 more
4

1 回答 1

0

从文件的JavaDoc

公共文件(URI uri)

通过将给定的 file: URI 转换为抽象路径名来创建一个新的 File 实例。

文件的确切形式:URI 是系统相关的,因此此构造函数执行的转换也是系统相关的。

对于给定的抽象路径名 f,保证

new File( f.toURI()).equals( f.getAbsoluteFile()) 

只要原始抽象路径名、URI 和新的抽象路径名都是在同一个 Java 虚拟机中创建的(可能是不同的调用)。但是,当文件:在一个操作系统上的虚拟机中创建的 URI 被转换为不同操作系统上的虚拟机中的抽象路径名时,这种关系通常不成立。

参数:

uri - 一个绝对的、分层的 URI,其方案等于“文件”、一个非空路径组件以及未定义的权限、查询和片段组件

抛出:

NullPointerException - 如果 uri 为空

IllegalArgumentException - 如果参数的先决条件不成立

自:1.4

没有人说任何关于 http 或 https 的事情。

于 2013-10-28T19:05:07.580 回答