Как использовать CSRF с многочастной формой Не работает - PullRequest
0 голосов
/ 30 сентября 2018

Я пытаюсь создать форму для загрузки изображений, но когда я использую csrf, этот donw работает для меня, и я читал, что вам нужен этот код в теге enctype формы:

<form method="post" action="/?_csrf=<%=csrfToken%>">

это работает для меня, но если вы хотите сохранить только одно изображение, но если хотите Edit или Delete, не работают, потому что использовать метод переопределения? _Method = PUT и вернутьУРЛ со мной CSRF

http://localhost:3030/stories/5bafe7a5abe3a7110c5f386b?_csrf=wkhEeV2x-06M_KPnZRoSTPJ3mUZSnuZ6dl7s

Cannot POST

<form class="col s12" action="/stories/{{storieEdit.id}}?_csrf={{csrfToken}}"  enctype="multipart/form-data" method="POST">
      <input type="hidden" name="_method" value="PUT">

        <div class="row">
          <div class="file-field input-field  col s12">
            <div class="btn">
              <span>File</span>
              <input type="file" name="fileUpload" onchange="previewFile()">
            </div>
            <div class="file-path-wrapper">
              <input class="file-path validate" type="text">
          
                <img src="/uploads/{{storieEdit.image}}" alt="Image" style="width: 25rem;">
               
            </div>
          </div>
        </div>
        </form>

любые предложения

Спасибо за то, что прочитали меня

1 Ответ

0 голосов
/ 03 октября 2018

Для нескольких изображений вам нужно добавить в свой атрибут enctype формы, например: enctype="multipart/form-data"

Для переопределения метода необходимо добавить тип метода, а также csrfToken в строку запроса действия: action="/stories/{{storieEdit.id}}?_method=PUT&_csrf={{csrfToken}}"

У меня похожий код и он отлично работает.Ниже вы можете найти необходимые изменения прямо в вашем коде.

<form class="col s12" enctype="multipart/form-data" action="/stories/{{storieEdit.id}}?_method=PUT&_csrf={{csrfToken}}"  enctype="multipart/form-data" method="POST">
      <input type="hidden" name="_method" value="PUT">

        <div class="row">
          <div class="file-field input-field  col s12">
            <div class="btn">
              <span>File</span>
              <input type="file" name="fileUpload" onchange="previewFile()">
            </div>
            <div class="file-path-wrapper">
              <input class="file-path validate" type="text">
          
                <img src="/uploads/{{storieEdit.image}}" alt="Image" style="width: 25rem;">
               
            </div>
          </div>
        </div>
        </form>
...