загрузить файл reactjs err 400 - PullRequest
0 голосов
/ 31 марта 2020

Когда я пытаюсь загрузить файл, у меня появляется эта ошибка

Uncaught (в обещании) Ошибка: запрос не выполнен с кодом состояния 404 ".

Я не ' не понимаю почему. Вот мой кусок кода.

        import React, {Component}from 'react';
    import '../css/formLocation.css';
    import axios from 'axios'
    
    class FormLocation extends Component {
      constructor(props) {
        super(props);
        this.state = { 
          file : null
         }
      }
    
    
      handleClick9 = (e) => {
      e.preventDefault();
      this.setState({step9 : true})
      const formData = new FormData();
      formData.append('images' , this.state.media)
      axios.post('http://localhost:1337/testmedias/', formData)
        .then((response) => {
          console.log(response);
        })
      }  
    
      
      handleChangefile = e => {
      this.setState({
        media : e.target.files[0]
      })
      }
      
      render() { 
        return ( 
          <form>
          <div className='form' id='input' >
             
              <h6 className={this.state.step9? 'true': 'false'}>Ajoutez des images ?</h6>
              <input type='file' name='media' className='input' onChange={this.handleChangefile}/>
              <br/>
              <button onClick={this.handleClick9} >Soumettre</button>
          </div>
      </form>
         );
      }
    }
     

export default FormLocation;

         

   

Я использую Strapi для API. Заранее спасибо.

Ответы [ 2 ]

0 голосов
/ 31 марта 2020

Попробуйте что-то вроде этого

import React, {Component}from 'react';
    import '../css/formLocation.css';
    import axios from 'axios'

    class FormLocation extends Component {
      constructor(props) {
        super(props);
        this.state = { 
          file : null
         }
      }


      handleClick9 = (e) => {
      e.preventDefault();
      this.setState({step9 : true})
      const formData = new FormData();
      formData.append('images' , this.state.media)
      axios.post(`'http://localhost:1337/testmedias/'${formData}`)
        .then((response) => {
          console.log(response);
        })
      }  


      handleChangefile = e => {
      this.setState({
        media : e.target.files[0]
      })
      }

      render() { 
        return ( 
          <form>
          <div className='form' id='input' >

              <h6 className={this.state.step9? 'true': 'false'}>Ajoutez des images ?</h6>
              <input type='file' name='media' className='input' onChange={this.handleChangefile}/>
              <br/>
              <button onClick={this.handleClick9} >Soumettre</button>
          </div>
      </form>
         );
      }
    }


export default FormLocation;
0 голосов
/ 31 марта 2020

Не думаю, что у вашего кода есть проблема. Выдает ошибку 404, что означает, что нет API, который вы вызвали.

...