問題タブ [apache-commons-fileupload]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
java - null 値を与える送信ボタンの request.getParameter
Generate PDF/Generate Excel送信ボタンをクリックすると、サーブレットFileUploadに処理を要求しています.今、私が押した送信ボタンの値を取得しようとすると、nullとして値が返されます.なぜそれが起こっているのですか?
ここに私のHTMLコードがあります:
これは私のサーブレットコードです:
java - java.lang.IllegalStateException: ファイルは既に移動されています - 再度転送することはできません
ファイルをアップロードしてサーバーに保存しようとしています。しかし、私は得る:
Commons FileUpload jar(CommonsMultipartFile) を使用しています。ステートメントに対して IllegalStateException が発生します。
user.getFileData().transferTo(new File("/home/xavier/uploads/" + user.getFileData().getOriginalFilename()));
こちらuser
が豆です。最初はうまくいきましたが、アップロードフォルダーからファイルを削除して再度テストすると、上記のように例外がスローされました。
スタックトレース:
java - ファイルはファイル フィールドに添付されていますか?
次のコードがあります。
最初にファイルが添付されているかどうかを確認したい。添付されている場合は、ファイルのみをアップロードしてください。私はこれを試しました:
しかし、これはうまくいきません。ファイルが添付されているかどうかを確認するにはどうすればよいですか? ファイルフィールドがあります:
java - commons-io.jar jsp/java のインポート方法
例外が発生しています:
私は使用するコードを持っています
インポートが必要なライブラリは次のとおりです。
私のプロジェクトへのパスは次のとおりです。
プロジェクトフォルダーには、それぞれのフォルダーがあります。
私はコピーしました:
両方に:
--------------- やってみた ---------------
ライブラリを単独でインポートするだけです
ビルド時に jar をクラスパスに追加します。
それらを環境変数 CLASSPATH に追加する
@Scot Shipが提案したように、.javaファイルがあるjarを追加しようとしました
----言及----
IDE を使用していません
コードには認識されない記号が含まれていますが、一度に 1 つずつ解決しようとしています
Apache、Tomcat、JSP を初めて使用します。優しくしてください
java - サーブレット ファイルのアップロード
複数のファイルのアップロードを行うためにサーブレットを使用しています (Apache Commons FileUploadを使用)。私のコードの一部を以下に掲載します。私の問題は、ファイルを何度もアップロードすると、アプリサーバーのメモリ消費量が大幅に増加することです。Apache Tomcat サーバーはメモリにハングアップしているようで、決してメモリを返しません。ヒープ領域がメモリ不足です。時々、メモリ不足の例外が発生し、スローされjava heap space error
ます。
すべての入力ストリームを閉じました。問題は にあると思いますServletFileUpload
。閉じる方法を教えてください。
java - コードページ 1252 の FileItem からユーロ記号を含むコンテンツを読み取る
私の問題の設定は次のとおりです。
Web サービス通信を含むクライアント/サーバー アーキテクチャでは、サーバー側でクライアントから CSV ファイルを取得します。API は私に org.apache.commons.fileupload.FileItem を与えます
これらのファイルに許可されているコードページは、コードページ 850 とコードページ 1252 です。
すべて正常に動作しますが、唯一の問題はユーロ記号 (€) です。コードページ 1252 の場合、私のコードはユーロ記号を正しく処理できません。その代わりに、Unicode U+00A4: ¤ の記号が Eclipse のコンソールに表示されます。
現在、次のコードを使用しています。一部のクラスに分散しています。関連する行を抽出しました。
私は別のものを試しました:
FileItem.getInputStream()
FileItem.getInputStream() を使用して byte[] を取得しましたが、結果は同じでした。
FileItem.getString()
FileItem.getString() を使用すると、コードページ 1252 で完全に動作します。ユーロ記号は正しく読み取られます。Eclipse のコンソールに出力すると表示されます。しかし、コード ページ 850 では、多くの特殊文字が間違っています。
FileItem.getString(文字列エンコーディング)
だから私の考えは FileItem.getString(String encoding) を使うことでした。しかし、コードページ 1252 を使用するように彼に伝えようとしたすべての文字列は例外を生成しませんでしたが、間違った結果が生成されました。
たとえば、getString(Charset.forName("CP1252").name()) は、ユーロ記号ではなく疑問符になります。
org.apache.commons.fileupload.FileItem を使用するときにエンコーディングを指定するにはどうすればよいですか?
それとも、これは間違った方法ですか?
事前にご協力いただきありがとうございます。