3

私は Trix を使用しており、添付ファイルをアップロードするために、バックエンド開発者から、バイナリ ファイルをアップロードする代わりに、添付ファイルを base64 に変換し、base64 データをデータベースに保存するように言われました。

これを実装するためにこのコードを書きましたが、入力フィールド (HTML) の出力は期待どおりに機能していますが、画像のプレビューがエディターに表示されません。

$(function() {

  $(document).on('trix-attachment-add', function(event) {
    var attachment = event.originalEvent.attachment;
    // Convert data URLs to File objects.
    if(attachment.file) {
      return uploadAttachment(attachment);
    } else {
      console.error('Could not upload attachment.');
      console.error(attachment);
      attachment.remove();
    }
  });

});

function uploadAttachment(attachment) {
  var reader = new FileReader();
  console.log(attachment)

      // Set the reader to insert images when they are loaded.
      reader.onload = function (e) {
        var result = e.target.result;
        var attrs = {
          src : result,
          url: result,
          href : ''
        };
        attachment.setAttributes(attrs)
        attachment.setUploadProgress(100);
      }
      // Read image as base64.
      reader.readAsDataURL(attachment.file);
    }

この問題の原因はわかりません。

4

2 に答える 2