MVC アプリにアクション メソッドがありFileResult
、データベースに BLOB として保存されたファイルに基づいて を返します。Content
根本的な問題は、データベースの列に正しい内容がエンコードされていることを確認したにもかかわらず、ファイルの種類によっては、ファイルを要求すると空のファイルが返されることです。
しかし、本当に奇妙なのは、これを引き起こしている原因を正確に特定するのがいかに難しいかということです. ここに私が理解できないいくつかの落とし穴があります:
*.txt
や*.csv
PDF などのダウンロード中に空のファイルが返されるなどのテキスト ファイルのダウンロードは正常に機能します。これは CI サーバーでのみ発生し、ローカル ワークステーションでは再現できません。これらは私が考えることができる唯一の違いです:
- 自分のマシンでは機能するコミットが CI サーバーでは機能しないことを確認しました
- ローカル ワークステーションを CI サーバーのデータベース エンジンに接続しようとしましたが、再現できませんでした。言い換えれば、問題はデータベースではなくコードにあります (しかし、指摘されているように、ローカルで動作する同じコードは CI サーバーでは動作しません...)。
- CI サーバーは IIS7 を実行し、Visual Studio に同梱されている IIS Express でローカルにテストします。
これをトラブルシューティングするにはどうすればよいですか? 何が原因でしょうか?