KCFinder:画像のアップロードエラー
このサイトでは、ひとまず管理人のみ記事を書いたり画像をアップロードしたりを自由に出来るようにしております。
上の画像のような感じの投稿画面が管理人のみ開けます。
この投稿機能は CKEditor + KCFinder という2つのオープンソースのアプリを埋め込んで使用する事により実現しています。
(投稿した内容をDBに保存する等の処理はもちろん自前でプログラミングしています。)
しかし昨日から複数画像を上手くアップロードできないエラーに遭遇し、何時間(それこそ7~8時間位)ハマっておりました…。
●上手く画像をアップロードできない状態
●画像のアップロードに成功した状態
ローカル(手元の開発)環境では上手くいくのに、なぜか本番環境でコケておりました。。。
あらゆる設定を見直しましたが原因不明。
ckeditor, kcfinder のconfigファイル等 設定をいじり倒してみましたが上手くいかず、検証画面で追いました。
↓ Google Chrome なら画面上で Windows は右クリック / Mac は二本指タップでメニュー表示後"検証"を選択で見れます。この中の "Network"項目に、ネットワークでアクセスした情報が出てきますので、左の"Name"欄をクリックして、
対象の読み込みブログラムの中身を検証します。
今回は、『ローカル環境』と『本番環境』、『Chrome』と『Firefox』でそれぞれテストをして検証をしました。
…結果、一旦初期の設定に戻したら、何故か『Firefox/本番』で上手くいきました。
検証画面で気になっていたのが、ChromeのNetwork情報を追うと以前投稿した古い画像をどうやら POSTしている点でした。
…もしやと思ってシークレットモード(cache情報が無い)で画像を投稿したら、Chromeでも成功。
原因は、Chromeでキャッシュが残っておりこれが画像投稿時に邪魔をする事でした。
ちなみに、『その他のツール/閲覧履歴を消去』で全期間を選択し、消去対象を『キャッシュされた画像とファイル』にして実行。
解決しました。
(ちなみにキャッシュとは、Webブラウザアクセス時に処理を高速化する為に、画像やファイルなどのデータをブラウザが一時保管しておいてくれる仕組みの事です。)
しかしこれで根本的な解決となっているのだろうか…。
まぁ時間が余り無いのでこの件はこれ位で…。