- - PR -
strutsでファイルアップロード時のエラーについて
1
投稿者 | 投稿内容 | ||||||||
---|---|---|---|---|---|---|---|---|---|
|
投稿日時: 2005-07-20 16:18
strutsにて開発を行っているのですが、jspのformにenctype="multipart/form-data"を指定してファイルのアップロード処理を記述しています。
現在画面の「参照」ボタンを押すと、テキストボックスに選択したファイルのパスとファイル名が入力されるようになっており、その後「アップロード」ボタンを押下すると正常にDBにファイルのデータが登録されます。 ところが、このファイルのパスが入力されるテキストボックスに直接手入力で、でたらめな文字を入力して「アップロード」ボタンを押下するとブラウザで「アクセスが拒否されました」というエラーが出てしまいます。 原因と、対処法を教えて頂けないでしょうか?宜しくお願い致します。 | ||||||||
|
投稿日時: 2005-07-20 16:28
「直接手入力で、でたらめな文字」に該当するファイルが存在せず、
エラーになってそれが表示されたんでしょう。
何をどうしたいんですか? | ||||||||
|
投稿日時: 2005-07-20 16:39
「参照」ボタンを押下して、一度テキストボックスに表示されたファイルのパスを存在しないものに変更して「アップロード」ボタンを押下すると、アクションの処理が走って、自分で記述してあるファイルの存在チェック(ファイルのパスから、指定のファイルのデータが存在するかのチェック)が走り、エラーが表示されます。
しかし、この場合はアップロードのアクションすら走らずどこが問題なのか分からないのです。 | ||||||||
|
投稿日時: 2005-07-20 17:34
念のために聞いておきたいんですが、上記の処理は、 サーブレットに書いてあるんじゃないんですよね。 | ||||||||
|
投稿日時: 2005-07-20 19:32
はい。サーブレットに書いております。
| ||||||||
|
投稿日時: 2005-07-21 09:47
結論から言ってしまうと無意味です。 サーブレットはサーバー上で動作するプログラムです。 クライアント上のファイルにアクセスなどできるはずがありません。 サーバーとクライアントが同一のマシンであることによる、偶然の産物でしょう。 このあたりは、Webアプリケーションの仕組みを勉強してください。
これはどうやって確認したのですか? コンソールの表示? それともログの確認ですか? ところで、ファイルの所在確認ロジックを記述する前は、 Webアプリは、問題なく期待通りに動いていたんでしょうか。 | ||||||||
|
投稿日時: 2005-07-22 19:43
アクションの動きはコンソールで確認しました。アプリも1年前から正常に動いています。
要はjspにて <html:file name="bcmlBean" property="bcmlContents" styleClass="name-short-text" onchange="onchangeEvent(bcmlContents,saveFileName)" /> と記述すると、テキストボックスと、「参照」ボタンが並んで表示されますよね。そこで、テキストボックスに手入力で存在しないパスに変えてしまうとエラーになるので、手入力が出来ないようにしたいのですが、解決策は無いのでしょうか? | ||||||||
|
投稿日時: 2005-07-22 20:41
要するに、ファイル入力ボックスを手入力不可にできないか、ということですね。
でしたらそれはできませんので、あきらめてください。 |
1