sql >> データベース >  >> RDS >> Mysql

Vuejsを使用してHTMLでmysqlブロブ画像を表​​示するにはどうすればよいですか?

    必要なのは、 dataurl です。 。バイト配列をbase64に変換する必要があります。生のバイトを使用する方法はありません。おそらく、計算されたプロパティでこれを行い、バイト配列の1つを使用してbase64関数

    マークアップ

    <img :src="dataUrl">
    

    動作(テストされていません!)

    computed : {
        dataUrl(){
            return 'data:image/jpeg;base64,' + btoa(
                new Uint8Array(this.info.image)
                .reduce((data, byte) => data + String.fromCharCode(byte), '')
            );
        }
    }
    

    良心を検索します。これは本当に良い考えではありません:-) JSONでエンコードされたバイト配列として画像を送信することは私が見たことがないものであり、推測すると、バイナリ画像よりも約10倍大きくなります。 DB内の画像はアンチパターンです 。 JSONの画像は機能しますが、JSONではbase64文字列としてエンコードする必要があります。それでも、JSONの可読性が低下し、Postmanなどのツールを埋めることができます。データのURLははるかに遅い 通常のURLよりもロードします。 DBに画像がある場合でも、APIを制御する場合は、application / jpeg mimeタイプを使用して、バイト配列のみを返す画像APIを作成することで多くのメリットを得ることができます。



    1. MySQLでdatediffを数分で合計

    2. サブクエリに存在しない列でクエリが失敗しないのはなぜですか?

    3. 406行目のMySQLエラー2006(HY000):MySQLサーバーがなくなりました

    4. mysqlに複数の行を挿入します(コンマで区切られた項目)