- - PR -
Access XPのファイルをHtmlInputFileタグでアップロード
1
投稿者 | 投稿内容 | ||||||||
---|---|---|---|---|---|---|---|---|---|
|
投稿日時: 2005-03-19 10:37
はじめまして。
いつもみなさんの書き込みを見せていただいて、参考にさせていただいております。ありがとうございます。 今回はいろいろ調べて見たのですが、どうしてもわからなかったので書き込ませいただきました。 まずやりたいことは件名のとおりAccessのXP(SP3)のファイルをサーバーにHtmlInputFileでアップロードすることです。 別スレッドで書き込みさせれていた下記のアドレスを参考に実際にASP.NET2003でプログラムを作成しました。 http://www.microsoft.com/japan/msdn/library/default.asp?url=/japan/msdn/library/ja/cpgenref/html/cpconhtmlinputfilecontrol.asp 実際に実行してみると、テキストファイル、Excelファイル(XP、2003両方)やAccess2003等のアップロードは無事できるのですが、どうしてもAccessXPのファイルだけアップロードすることができません。 現在の作成状況は @HtmlInputFileコントロールで、アップロードしたいファイルのパスを取得する A用意しておいた読み込み用のボタンをクリックするとアップロードされる という流れです。ところがAccessXPのファイルを選択し、読み込み用ボタンをクリックすると、クリック時イベントが発生せずいきなり「ページを表示できません。」というIEでサーバーが見つからない時に表示される画面が表示されます。 AccessXP側の何か問題かと思ってMicrosoftのページもいろいろ見てみたのですが、手がかりはなく、どうしたらいいものやら・・・ なにかご存知のことがあれば、ご意見お願いします。 | ||||||||
|
投稿日時: 2005-03-19 14:09
ぷっぷーさん、こんにちは。
Accessは2002(Xp)も2003も、2000も97も95も、拡張子は同じmdbですよね? しかも、2003と2002は、内部的な形式も同じではなかったでしょうか。それともadpファイルですか? いずれにしても、Accessのバージョンは関係ないような気がします。 それよりも、ファイルサイズを確認してみて下さい。デフォルトでは、ポストされるデータが4MBを超えるとアウトです。 アップロード可能なファイルサイズの指定については、ASP.NET 構成セクション スキーマの <httpRuntime> 要素の説明に記述があります。 | ||||||||
|
投稿日時: 2005-03-19 17:18
きくちゃんさん ご返信ありがとうございます。
Accessファイルは拡張子はたしかに同じmdbファイルです。adpファイルではありません。 ファイルサイズ確認しましたが、2MBちょっとでした。 教えていただいた<httpRuntime>要素の説明は見てみました。知らなかったので今後の参考になりました。ありがとうございました。 今回Accessのバージョンが問題かなーと思ったのは、下記のようなプログラムを作成したのですが、XPだとこのイベントが発生せず、他のファイルだと下記のイベントが発生し処理されたのでもしかしたら・・・と思ったのですが(^^ゞ Private Sub btnUpload_ServerClick(省略) Handles btnUpload.ServerClick strFileName = Path.GetFileName(ofile.PostedFile.FileName) strFilePath = "c:\temp\" & strFileName ofile.PostedFile.SaveAs(strFilePath) end sub | ||||||||
|
投稿日時: 2005-03-19 17:58
ぷっぷーさん、こんばんは。
では、関係なさそうですね。
ServerClick イベント? ってことは、HtmlButton ? 試しに、HtmlInputFile と WebControls の方の Button だけを配置したテスト用のWebフォームで、Button.Click イベントハンドラが呼び出されるかどうかを確認してみては如何でしょうか? | ||||||||
|
投稿日時: 2005-03-19 18:55
きくちゃんさん、早速のご返信ありがとうございます。
引用: -------------------------------------------------------------------------------- Button.Click イベントハンドラが呼び出されるかどうかを確認してみては如何でしょうか? -------------------------------------------------------------------------------- それも試しては見たのですが、やはりイベントが発生しませんでした。 | ||||||||
|
投稿日時: 2005-03-19 19:22
ぷっぷーさん、こんばんは。
うーん、では念のために<httpRuntime>の maxRequestLength 属性を10MB位に設定して、確認してみてもらえます? それでもダメなら、ちょっと判りませんねぇ。 あとは可能性として、ウィルス対策ソフトとかがブロックしているとか…。 | ||||||||
|
投稿日時: 2005-03-19 22:48
きくちゃんさん、ありがとうございます!!
maxRequestLength 属性を10MBにしてやってみたら、無事アップロードできるようになりました。 そしてすいません。httpRuntimeをはじめに教えていただいた時点では、アップロードしたいファイルサイズが既定の4MBよりだいぶ小さかったのでmaxRequestLength 属性の変更は実際には試していませんでした。 そのせいで余計にお手間を取らせることになってしまいました。申し訳ありませんでした。 それでは、ほんとうに助かりました!ありがとうざいました。 | ||||||||
|
投稿日時: 2005-03-19 22:59
ぷっぷーさん、こんばんは。
やはりそうでしたか。 実運用で、ファイルサイズの制限をどうするかについては、十分に検討した上で決定して下さい。 |
1