0

wicket のファイル アップロード フォームに問題があります。オンライン サーバーにファイルをアップロードできません。

このスクリプトはすでに機能していましたが、しばらくの間停止しました。

だから私は答えを探しますが、同じエラーが発生していました。

私のコードは次のとおりです: http://www.mkyong.com/wicket/wicket-file-upload-example/ 違いは、例のようにフォルダー パスがローカルではなく、https 経由でリモート URL を指していることです。 .

追加情報:

  • サーバ
    • オペレーティング システム: Debian GNU/Linux 7 (wheezy)
    • トムキャット: トムキャット 7
    • ターゲット フォルダーのアクセス許可: 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 仮想マシン (おそらく別の呼び出し) で作成されている限り。ただし、あるオペレーティング システム上の仮想マシンで作成された file: URI が、別のオペレーティング システム上の仮想マシンで抽象パス名に変換される場合、通常、この関係は成立しません。

パラメーター:

uri - 「ファイル」に等しいスキーム、空でないパス コンポーネント、および未定義の権限、クエリ、およびフラグメント コンポーネントを持つ絶対階層 URI

スロー:

NullPointerException - uri が null の場合

IllegalArgumentException - パラメータの前提条件が満たされていない場合

以降: 1.4

http や https については誰も何も言わなかった。

于 2013-10-28T19:05:07.580 に答える