2009-06-26 8 views
0

私は、フォームから画像をアップロードしてサーバーに保存するコードを使っています。 Internet Explorerでは、ユーザーはパスを手動で入力できます。ファイルが存在するかどうか、つまりユーザーが有効なパスを入力したかどうかを確認する方法がわかります。ファイルをアップロードするときに有効なパスを確認するcommons-fileuploadを使用する

サイズを確認するために使用されているFileItemオブジェクトがあります(たとえば、fileItem.getSize()< MAX_SIZE)。サイズを使用してファイルが存在するかどうかを確認するのがよい方法でしょうか。例:

if (fileItem.getSize() == 0) { 
    // Somethings wrong -- invalid path. 
} else { 
    // File exists -- valid path. 
} 

いずれかの提案があります。ありがとう!

+0

何もアップロードされていないときにFileItemを取得しないと思います。 – akarnokd

+0

私はFileItemを取得しましたが、入力されたガベージ・パスのサイズはゼロです。 – Chocula

+0

ありがとう、私は何かをアップロードしないでファイルのアップロードをテストしたことがないので、それについてはわからなかった。私はあなたがどんなタイプのものがアップロードされることが許されているのか知っていると思うし、実際にあなたの方法にとどまることができる長さゼロのファイルは本当に期待していない。 – akarnokd

答えて

1

クライアントでは、スクリプトを使用してファイルアップロードコントロールのテキストを確実に読み取ることができません。例えば、IE8とOpera10はあなたに横たわり、 "C:\ fakepath \"を含む一般的なパスを提供します。これはプライバシー上の理由から行われます。

サーバでは、アップロードしたファイルが実際にあるかどうかを確認するだけで、ファイルを調べて自分の条件に一致するかどうかを調べることができます。

関連する問題