- PR -

ImageButtonを使用したファイルアップロードについて

1
投稿者投稿内容
JNS
会議室デビュー日: 2003/08/19
投稿数: 2
投稿日時: 2003-08-19 11:04
JNSと申します。いつもお世話になっております。

ASP.NETでのファイルアップロードについてお聞きいたします。

やりたい事は、FileFieldコントロールを使用して、クライアントに
アップロードするファイルを選ばせるオーソドックスなものです。
1つ異なるのが、参照ボタンがImageButtonになっているという事です。

下記のサイトを参考に、参照ボタンをイメージボタンにする事はできました。
http://www.microsoft.com/japan/msdn/columns/webteam/webteam07022001.asp

1.FileFieldを非表示で設置する。
2.TextFieldとButton(ImageButton)を設置する。
3.ButtonのOnClickイベントでFileFieldのClickイベントを起動する。
4.クライアントにアップロードファイルを選ばせ、ファイルPATHを取得する。
5.FileFieldのonChangeイベントで、FileFieldに設定されたファイルPATHを
TextFieldに設定する。

これで、あたかもFileFieldのボタンをImageButtonにしたかのような制御が可能になりました。
別途アップロード用Buttonを設置して、それを押すことでアップロードの処理が
行われるようしました。

ところが、HtmlInputFileクラスを使用すると、非表示にしている為、
参照することが出来ません。

また、FileFieldを表示にして同じように試してみたところ、
アップロード用Buttonを押すと何故かFileFieldの値が消えてしまい、
もう一度アップロード用Buttonを押すと、PostBackが起こります。
なので、2回クリックを押すことで、PostBackが起こることになり、
その時にはFileFieldの値もNullになっています。

上記の方法での不備や、アップロード処理でImageButtonを使用する
良い方法がありましたら、教えていただきたいと思います。
長文失礼致しました。
AOPP
ベテラン
会議室デビュー日: 2002/11/18
投稿数: 66
投稿日時: 2003-08-20 00:50
aoppです。

<FORM>タグにencType="multipart/form-data"をいれれば、ファイルを取得できるはずです。

確かに2回クリックしないと動かない。(FileFieldの値が消えますね!!!)
JNS
会議室デビュー日: 2003/08/19
投稿数: 2
投稿日時: 2003-08-20 09:24
JNSです。
レスありがとうございます。

encType="multipart/form-data"は入れているのですが、
1回目のクリックでFileFieldの値が消えてしまっているので、
PostBack時にファイルを取得できないようです。

FileFieldの値が消える現象だけでも回避できたら良いのですが・・・。

1

スキルアップ/キャリアアップ(JOB@IT)