やりたいこと
ConoHaのサーバーにファイルマネージャーを用いてアップロードしたバイナリが正しく読み込めないという現象が起きました。
実際に起きたのはAI向けのAI向けのモデルをファイルマネージャーでアップロードしてJavaScriptで読み込もうとしたところ失敗しました。(404などのエラーではなく構成が正しくないというエラーでファイルが壊れているようでした。)
対策
実際にアップロード後に失敗したファイルは拡張子なしでした。
ConoHaのファイルマネージャーは拡張子なしのファイルをアップロードするとテキストファイル(アスキー)として扱います。
そのためアップロード時にバイナリファイルだと認識させる必要があります。
そのためアップロードするファイルの拡張子をローカルで変更します。
変更する拡張子はバイナリだと認識されればなんでもいいんですが、*.binで動作することを確認しました。
拡張子を変更したら再度ファイルマネージャーでファイルをアップロードします。
アップロードしたファイルを右クリックして”リネーム”を選択し変更した拡張子を元に戻します。
読み込み確認を行い、正しく読み込めれば完了です。
問題の確認方法
今回紹介した方法で解決する問題はバイナリでアップロードしないといけないファイルをアスキーでアップロードしていることが問題です。
アップロードしたファイルをダウンロードしアップロードしたローカルファイルと比較することで正しくファイルがアップロードされているか確認できます。(ファイルが完全に同一である場合は別問題の可能性が高いです。異なっている場合はほかの原因の可能性もありますが、この問題である可能性もあります)
ファイルのファイルの同一性はWinMergeを使用するのが簡単です。
結果
ConoHaのサーバーにファイルマネージャーを用いてアップロードしたバイナリが正しく読み込めました。
コメント