使用上の注意
直接URL入力について
概要
以下にあるように、セキュリティの問題から、IE8から直接URL入力ができなくなったらしい。http://d.hatena.ne.jp/replication/20100714/1279062531
http://adiary.blog.abk.nu/0247#k247p4
http://d.hatena.ne.jp/language_and_engineering/20100909/p1
逆に言うと、IE7以前のVersionでは直接URL入力できる。 で、ユーザーが間違えて、不正な文字列(例「aaa」)を入力した場合、ポストバックがかからないという現象が起きてしまう(以下を参照)http://www.atmarkit.co.jp/bbs/phpBB/viewtopic.php?topic=42905&forum=28
そこで、上記問題を回避するために、IE7でも直接入力を不可にする。
サンプル:直接URL入力不可にする実装
* ただし、JSが有効であることが前提である。Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load Me.FileUpload1.Attributes.Add("onKeyDown", "return false;"); End Sub* このままだと日本語入力できてしまうので「style="ime-mode: disabled;"(ただしIEのみ)」などで対応する
* このままだとタブキーまで弾くので、それを考慮した方がいい
ファイル サイズ制限について
* サイズ制限を変更するには、machine.config ファイル、あるいは web.config ファイルのいずれかに変更する必要がある。http://msdn.microsoft.com/ja-jp/library/aa478971.aspx
より、抜粋。 <httpRuntime executionTimeout="90" maxRequestLength="4096" useFullyQualifiedRedirectUrl="false" minFreeThreads="8" minLocalRequestFreeThreads="4" appRequestQueueLimit="100" />
メモ書き
jQueryを使ったUpload
http://www.youtube.com/watch?v=mMSaiadjQuU&feature=relatedhttp://www.youtube.com/watch?v=O4BujfPVQkQ&feature=related
http://www.youtube.com/watch?v=i_uVhZND9q4&feature=related
ファイルアップロード中に処理中(プログレスバーなど)を表示するために
* 方法1: 以下を使う。(試してないけど)http://www.codeproject.com/KB/webforms/FileUploadWithProgrss.aspx
* 方法2:以下のような方法を使って、自作する。(試してないけど) jQueryなんかも併用すれば、実装できそうな気がするが。。。http://d.hatena.ne.jp/oui27/20090808/1249703799
http://dobon.net/vb/dotnet/internet/webrequestpost.html#section6
http://devadjust.exblog.jp/9467833/
UpdateProgressコントロールとの関連について
* ファイル・アップロードのFileUploadコントロールにはUpdatePanelコントロールと組み合わせて利用することはできないため、UpdateProgressコントロールも使えない。 UpdateProgressコントロールについては、以下に記載。http://blogs.yahoo.co.jp/dk521123/26721609.html
AsyncFileUploadコントロールもあるが、色々試したが使いづらい。(下記「メモ」に、別方法で実装する方法を調べ中)