添付ファイルフィールドのファイルダウンロードに失敗することがある

コメント

7件のコメント

  • 正式なコメント
    Ichiro Takahashi

    調査の結果、おおよその原因がわかりました。
    ※ただし、以下は chrome での調査結果であり、他ブラウザでは異なる挙動する可能性があります。

    添付ファイルフィールドは画面上では <a> タグに download 属性を付けたリンク(以下 <a download> と表記)となっており、クリックすると(ページ遷移ではなく)保存できるようにしています。

    この <a download> タグ押下によるダウンロードを行うとき、HTTP 接続が何らかの理由で切断している場合などに「ネットワークエラー」となりダウンロードに失敗するようです。(切断の理由としては、httpd サーバがダウンしたとき、HTTP の Keep-Alive セッションがタイムアウトしたとき、など他にも考えられるかもしれませんが、環境や状況によるので特定はできません)

    画面上の通常のリンク押下では、たとえ元のHTTP接続が一時的に切れていたとしても自動的に再接続するため(接続が回復できる状況では)操作上問題になることはありません。しかし、<a download> タグ押下などで「ダウンロード」になる場合は通常のページ遷移とは異なる扱いになるようで「自動的に再接続する」という振る舞いは無く、たとえ接続が回復できる状況でもダウンロードに失敗してしまうようです。

    そのため、一度リロードしたり別の画面に遷移すると、接続が回復してその後はダウンロードが成功するようになる、という現象とも辻褄が合います。

    再現方法としてはダウンロードリンクを含むページを表示させた状態で、httpd サーバを意図的にダウンさせると、<a download> タグ押下時に「ネットワークエラー」になります。httpd サーバを再起動させても同じ状況は続きますが、別ページへの遷移はできてその後はダウンロードできるようになります。

    こうした調査結果をもとに、以下のような対策を検討しています。

    • <a download> 押下によってダウンロードを開始する前に、サーバに対する(ダウンロード処理にもページ遷移にもならない)通常アクセスを試みる
    • 上の通常アクセスでは元のHTTP接続が一時的に切れていたとしても自動的に再接続するため、それが成功した場合に(<a download> 押下による)ダウンロード処理を再開させる

    手元の実験ではこの対策で、HTTP接続が回復可能な状況においては、ダウンロード時のネットワークエラー問題は改善することが確認できました。

    さらなる調査と評価を進めて、次回以降のリリースに含められるようにしたいと考えています。

    ※ ブラウザ側の挙動に依存する話ですので、やはり KE2.0 系でも同様の事象は発生しうると思いますし、同様の対策が有効であろうと考えています。

    ※(追記)Mac の safari および chrome では上記のような現象にはならず、ダウンロード処理においても自動再接続が機能しているように見受けられて、接続が回復できる状況においてはネットワークエラーは発生しませんでした。

    コメントアクション パーマリンク
  • Ichiro Takahashi

    フィックスポイントの高橋です。

    ・Kompira サイト上から、添付ファイルフィールドにアップしているファイルをダウンロードするときに、ネットワークエラーで失敗することがある
    ・失敗の際は、ブラウザのダウンロード履歴がファイル名ではなく、[<添付ファイルフィールド名>] で「失敗 - ネットワークエラー」となる
    ・失敗になった後、ブラウザのリロードや一度別ページに遷移させて(一覧画面→詳細画面など)再試行すると、問題なくダウンロードできる(成功の場合は、通常通りダウンロード履歴は実際の添付ファイル名となる)

    これらの現象について、弊社の環境でも発生する場合があることを確認しました。

    タイミングやブラウザ動作に依存する問題であるようにも感じられますが、現時点では詳細については判明しておりません。

    調査のうえ何らかの改善ができないか検討したいと思います。

     

    0
    コメントアクション パーマリンク
  • ueyama

    ご回答ありがとうございます。
    一点ご確認ですが、こちらはkompira 2.0系でも発生しうる問題でしょうか?
    (当該環境はkompira 2.0系への移行を想定しているため、2.0系で発生しないのであれば業務上問題はありません)

    0
    コメントアクション パーマリンク
  • Ichiro Takahashi

    一点ご確認ですが、こちらはkompira 2.0系でも発生しうる問題でしょうか?

    Kompira 2.0 系での動作については未確認ですが、現時点では「発生しうる」と考えております。

    2.0 系についても調査と改善を検討したいと思います。

    0
    コメントアクション パーマリンク
  • ueyama

    上記承知しました。

    調査及び改善の検討について進展ありましたら、ご教示いただければと存じます。

    0
    コメントアクション パーマリンク
  • ueyama

    調査結果ご教示いただきありがとうございます。内容承知しました。

    対策版のリリースを待って改善したいと思います。

    0
    コメントアクション パーマリンク
  • Ichiro Takahashi

    v1.6.13 で本事象に対する改善対策を行なっております。

    ただし、動作環境に大きな変更がありますので、その点ご留意のうえアップデートをご検討ください。

    0
    コメントアクション パーマリンク

サインインしてコメントを残してください。