загрузка и вставка изображения с использованием Summernote с nodejs и express - PullRequest
0 голосов
/ 09 апреля 2020

Я пытаюсь загрузить изображение и вставить его в летнюю заметку. Я использую FormData (), чтобы сделать мои данные формой и добавить к ней изображение. но почему-то моя форма данных пуста, когда я передаю ее.

HTML FORM

<form action="/dashboard/blog/create" method="POST">
  <div class="form-group">
    <label for="blogTitle">Title</label>
    <input type="text" name="blogTitle" placeholder="Blog Title" class="form-control" required">
  </div>
  <div class="form-group">
    <label for="blogSubtitle">Subtitle</label>
    <input type="text" name="blogSubtitle" placeholder="Blog Subtitle" class="form-control" required>
  </div>
  <div class="form-group">
    <label for="postedBy">Posted By:</label>
    <input type="text" name="postedBy" placeholder="Posted By" class="form-control"
      value="<%= currentUser.first_name %> <%= currentUser.last_name %>" required>
  </div>
  <div class="form-group">
    <textarea id="summernote" name="blogBody"></textarea>
  </div>
  <div class="form-group">
    <input type="submit" class="btn btn-primary">
  </div>
</form>

мой JS файл

 $('#summernote').summernote({
    height: ($(window).height() - 300),
    callbacks: {
        onImageUpload: function (image) {
            uploadImage(image[0]);
        }
    }
});

    function uploadImage(image) {
    let data = new FormData();
    data.append("image", image);
    for (let key of data.entries()) {
        console.log(key[0] + ', ' + key[1]);
    }
    console.log('data', data)
    $.ajax({
        url: '/dashboard/blog/image/upload',
        cache: false,
        contentType: false,
        processData: false,
        data: data, // this gives an error because somehow it is empty and data.append is note saving the append?
        type: "post",
        success: function (url) {
            console.log('url', url)
            var image = $('<img>').attr('src', 'http://' + url);

            $('#summernote').summernote("insertNode", image[0]);

        },
        error: function (data) {
            console.log(data);
        }
    });
}

также с использованием

for (let key of data.entries()) {
        console.log(key[0] + ', ' + key[1]);
    }

показывает, что мои данные совсем не пусты. for loop result

...