2017-01-04 14 views
0

Я пытаюсь отправить файл в мой back-end через запрос postios.Изменение Content-Type в заголовке axios, чтобы исправить ошибку 415

Это ошибка, я в настоящее время:

cherrypy._cperror.HTTPError: (415, 'Expected an entity of content type application/json, text/javascript')

Из того, что я прочитал мне нужно изменить Content-Type в моем почтовом запросе, я осмотрелся я в настоящее время пытается сделать так, как это:

handleUploadButton(e){ 
      const upload_file = this.state.file; 
      const formData = new FormData(); 
      formData.append('file', upload_file); 
      const request = axios.post(someUrl, formData, {headers: { 
       "Content-Type": "application/json"} 
      }) 
       .then(function (response) { 
        console.log('successfully uploaded', upload_file); 
       }); 
    } 

Не уверен, что релевантно, но все это происходит через форму реакции. Это мой текущий тип Content-Type: Content-Type: multipart/form-data; border = ---- WebKitFormBoundaryBwjjjGuJEySeXdRU

Я понятия не имею, куда идти отсюда. Любая помощь будет принята с благодарностью.

ответ

0

Для того, чтобы Вардар включать Content-Type: приложение-JSON вам нужно сделать следующее:

javascript window.axios = require('axios') axios.defaults.headers.common['X-Requested-With'] = 'XMLHttpRequest'

0

Это работает для меня:

const formData = new FormData(); 
formData.append('data', new Blob([JSON.stringify(data)], { type: 'application/json'})); 
formData.append('file', file); 

return axios.put(`${url}`, formData) 
    .then((response) => { console.log(response) }) 
    .catch((error) => { console.log(error) }) 

Я взял это из другой ответ аналогичной проблемы. Вы можете проверить исходный ответ here.

0
SignIn =() => { 
    console.log('login clicked') 
    let data = JSON.stringify({ 
     password: this.state.password, 
     username: this.state.email 
    }) 

    axios.post('url', data, { 
     headers: { 
      'Content-Type': 'application/json', 
     } 
    } 
    ) 
} 
+0

Хотя этот фрагмент кода может решить вопрос, [включая пояснение] (meta.stackexchange.com/questions/114762/explaining-entirely-code-based-answers, //) действительно помогает улучшить качество Ваше сообщение. Помните, что вы отвечаете на вопрос читателей в будущем, и эти люди могут не знать причин вашего предложения кода. Также попробуйте не толковать код с пояснительными комментариями, что уменьшает читаемость кода и объяснений! –