Вставьте readAsDataURL в тег [img] base64 [/ img] - PullRequest
0 голосов
/ 05 декабря 2018

Мой код, у меня есть Jquery:

<div class="form-row">          
<input class="form-group col-md-6" id="fileinput" type="file" accept="image/gif, image/jpeg, image/png" onchange="readURL(this);" />
</div>
<div class="form-group">
<label for="content">Message</label>
<textarea id="content" name="content" rows="10" class="form-control" placeholder="Écrivez un message ..."></textarea>
</div>

<script>
function readURL(input) {
if (input.files && input.files[0]) {
var reader = new FileReader();
reader.onload = function (e) {
$("#fileinput").attr("src", e.target.result);
$("#content").val(e.target.result);
};
reader.readAsDataURL(input.files[0]);
}
}   
</script>

Я хочу добавить img base64 в редакторе bbcode (textarea - #content).На самом деле это работа, но я хочу иметь это:

[img] данные: image / png; base64, iVBORw0KGgoAAAAN ... [/ img]

Спасибо.

1 Ответ

0 голосов
/ 05 декабря 2018

Предполагая, что вы успешно включили jQuery, как подсказывает ваш скрипт, и ваш HTML выглядит примерно так (упрощенно):

<html>
  <body>
    <input type="file" id="file"/>
    <img id="content"/>
  </body>
</html>

Тогда такой скрипт будет делать то, что вы хотите:

$(function() {
  function readURL() {
    // Grabbing the DOM object, so that the code follows your general pattern
    input = $(this)[0];
    if (input.files && input.files.length) {
      var reader = new FileReader();
      reader.onload = function () {
        // The attribute you want to change on an img tag is "src" not "val"
        $("#content").attr("src", reader.result);
      }
      reader.readAsDataURL(input.files[0]);
    }
  }
  // Bind the readURL function to the change event on our file input
  $("#file").change(readURL);
});
...