0

重複の可能性:
JSP/サーブレットを使用してサーバーにファイルをアップロードする方法は?

名前属性が「ファイル」の入力タグを持つ jsp を使用して、写真をデータベースにアップロードしています。情報を更新しているときに、新しい写真をアップロードしたくない場合があります。その場合、サーブレットで null をチェックする必要があります。私はこれを試しました

 [...]

サーブレット:

if(request.getParameter("file")!=null)

   String imagePath=request.getParameter("file");

[...]

しかし、これは機能しません。誰でも解決策を提案できますか?

4

1 に答える 1

2

このnullチェックは、フィールドがまったく送信されていない場合にのみ機能します。ただし、空のフィールドを送信することは、フィールドを送信しないことと同じではありません。記入されずに送信されたフィールドは、空の文字列になります。したがって、値が単なる空の文字列ではない場合、追加のチェックを実行する必要があります。

言い換えると:

String fieldname = request.getParameter("fieldname");

if (fieldname != null && !fieldname.isEmpty()) {
    // It's submitted *and* filled out.
}

具体的な問題とは関係ありませんが、アップロードされたファイルを取得するこのアプローチには深刻な問題があります。このアプローチは、Web サーバーと Web ブラウザーの両方が物理的に同じマシンで実行されている場合にのみ機能します。時間をかけて、両方のリンクを注意深く確認してください。

アップロードされたファイルを正しい方法で取得すると、 のフレーバーで到着しないStringため、空文字列チェックを行う必要はありません。

于 2012-09-29T03:27:08.973 に答える