Загрузка изображения обратного вызова Summernote завершена, но форма снова отправляет файл post-запроса

#asp.net #asp.net-mvc #summernote

#asp.net #asp.net-mvc #summernote

Вопрос:

когда я обновляю изображение файла в summernote, я использую обратный вызов для обновления изображения. Все в порядке. Но я отправляю форму, файл будет отправлен снова в запросах, я хочу отправить форму, а не отправлять файл снова.

     $('.textarea-editor').summernote({
        height: 300, // set editor height
        minHeight: null, // set minimum height of editor
        maxHeight: null, // set maximum height of editor
        focus: true, // set focus to editable area after initializing summernote
        callbacks: {
            onImageUpload: function (files, editor, welEditable) {
                sendFile(files[0], editor, welEditable);
            }
        }
    });
    function sendFile(file, editor, welEditable) {
        data = new FormData();
        data.append("file", file);
        $.ajax({
            data: data,
            type: "POST",
            url: "/Image/Upload",
            cache: false,
            contentType: false,
            processData: false,
            success: function (url) {
                $('.textarea-editor').summernote('editor.insertImage', url);
                //editor.insertImage(welEditable, url);
            }
        });
    }
  

Ответ №1:

Пожалуйста, попробуйте это решение :

     // onImageUpload callback
$('.textarea-editor').summernote({
  callbacks: {
    onImageUpload: function(files) {
      // upload image to server and create imgNode...
      $summernote.summernote('insertNode', imgNode);
    }
  }
});

// summernote.image.upload
$('.textarea-editor').on('summernote.image.upload', function(we, files) {
 data = new FormData();
        data.append("file", files);
        $.ajax({
            data: data,
            type: "POST",
            url: "/Image/Upload",
            cache: false,
            contentType: false,
            processData: false,
            success: function (url) {
               $summernote.summernote('insertNode', url);
            }
        });

});
  

Документация: https://summernote.org/deep-dive/#onimageupload

Комментарии:

1. спасибо за ваш ответ, я успешно выполняю обратный вызов. Моя проблема в том, что когда я отправляю форму, загрузка файла отправляется снова.

Ответ №2:

Удалите enctype=»multipart/ form-data» из вашего тега формы