none
FileUpload コントロールについて RRS feed

  • 質問

  • いつもお世話になります。

    画面上にFileUploadコントロールとボタンを配置しています。

    FileUploadコントロールの入力欄に、ドライブ指定をしない入力をして、
    ボタンをクリックすると、ポストバックが不可能になってしまいます。

    ドライブ指定をしないというのは、「/:aaa.txt」「bbb」などです。

    CustomValidatorによるチェックや、遷移が不可能になってしまいますが、
    これは仕様なのでしょうか。また回避策はないのでしょうか。

    ご存知の方がおられたら教えてください。よろしくお願いします。

    2006年8月28日 5:43

回答

  • こちらは Windows XP Service Pack 2 以降の Internet Exploere 6.0 の想定された動作となります。

    セキュリティ上の理由により、ローカルパスや共有フォルダのパスに相対パスが入力された場合には、ファイルの送信ができないよう動作が変更されております。

    詳細につきましてはお手数ですが以下の技術文書をご参照ください。

    文書番号 : 890981
    タイトル : Input type = file 属性の入力フォームにて submit を行っても Web サーバーから反応がない
    URL : http://support.microsoft.com/kb/890981/

    また、クライアントスクリプトを使用して POST ( JavaScript の submit メソッドなど ) を行う際には 「アクセスできません」というエラーが発生します。

    例えば、Web サーバーコントロールのリンクボタンコントロールは JavaScript で記述された __doPostBack 関数を使用して PostBack 処理を行うためこのエラーが発生します。このエラーを回避するにはブラウザ側の Window クラスの OnError イベントを使用してスクリプトエラーをハンドルしてください。
    ただし、この回避方法はスクリプトエラーを防止するものであり、相対パスで入力されたファイルをアップロードできるようになるわけではありませんので、ご注意ください。

    以上、よろしくお願いします。

    2006年9月6日 2:37

すべての返信

  • よくわからないのですが、FireFoxだとsumitされますので、IEの仕様のような気もします。
    IEは、テキストボックスが一つしかない場合、Enterキーでうまくsubmitされない仕様(?)もあることですし。(^^;
    2006年8月29日 11:38
    モデレータ
  • こちらは Windows XP Service Pack 2 以降の Internet Exploere 6.0 の想定された動作となります。

    セキュリティ上の理由により、ローカルパスや共有フォルダのパスに相対パスが入力された場合には、ファイルの送信ができないよう動作が変更されております。

    詳細につきましてはお手数ですが以下の技術文書をご参照ください。

    文書番号 : 890981
    タイトル : Input type = file 属性の入力フォームにて submit を行っても Web サーバーから反応がない
    URL : http://support.microsoft.com/kb/890981/

    また、クライアントスクリプトを使用して POST ( JavaScript の submit メソッドなど ) を行う際には 「アクセスできません」というエラーが発生します。

    例えば、Web サーバーコントロールのリンクボタンコントロールは JavaScript で記述された __doPostBack 関数を使用して PostBack 処理を行うためこのエラーが発生します。このエラーを回避するにはブラウザ側の Window クラスの OnError イベントを使用してスクリプトエラーをハンドルしてください。
    ただし、この回避方法はスクリプトエラーを防止するものであり、相対パスで入力されたファイルをアップロードできるようになるわけではありませんので、ご注意ください。

    以上、よろしくお願いします。

    2006年9月6日 2:37
  • 返信ありがとうございます。

    IEのセキュリティ上の理由という仕様が分かりました。

    技術文書にありますように、必ずローカルパスを指定することにします。

    ありがとうございました。

    2006年9月12日 23:37