C#WebAPIを呼び出して暗号化してからSQL DBに格納する大容量ファイル(1〜3GB)をアップロードするJS/HTML5フロントエンドがあります。WebApi経由で大容量ファイル(1〜3GB)をアップロード
私の制限は、ファイルを暗号化せずに保存することができず、SQLの外に保存することができないということです。 SQL FileStreamも使用できません。
WebAPIについては、WebHostBufferPolicySelectorをオーバーライドしてBufferStreamを無効にして、メモリの例外を処理しました。これにより、メモリフットプリントを大幅に増やすことなくファイルをディスクに直接アップロードすることができます。
ファイルを構成する一連の暗号化されたチャンクを、SQLテーブルの行に順番に格納したいとします。その後、チャンクを取り出して解読し、リクエストされたときにそれらをユーザーに戻すことができました。
私はマルチデータ部分メッセージを受け取り、チャンクを暗号化し、データベースの行に書き込む方法がわかりません。誰かが私のやり方を正しい方向に向けることができますか?
大きなファイルはDBに格納されず、ファイルシステムに格納され、ファイルへのパスはDBに格納されます。 – zaph
@zaph - 私は一般にファイルがデータベースに保存されていないことを理解します。残念ながら、私は私が働いているものの要件を書くことはできません。 上記のように、私はFileStreamの使用について考えましたが、ファイルをメモリにロードせずに暗号化できるとは思っていませんでしたので、私はそれに反対しました(大きな理由は、 私は個々のチャンクを保存し、それぞれのチャンクを暗号化することを考えました。 – JakeHova
次の問題は、暗号化キーがどのように保護されるかです。これは、DBへの管理者アクセス権を取得した人物から秘密にされています。 – zaph