Я пытаюсь загрузить gif в giphy api, и мне было интересно, если бы кто-нибудь имел опыт с этим и мог бы привести пример. Я обнаружил, что нужен файл параметров в виде строки в двоичном формате, поэтому я использую 'response-file-base64'.
моя функция в моем компоненте реакции
import FileBase64 from 'react-file-base64'
//...
submit = (e) => {
e.preventDefault()
let base64 = this.state.file.base64
let data = {file: this.state.file.base64, api_key: "MY_API_Key"}
this.props.upload(data)
}
// Мое действие
export const upload = (item) => {
return dispatch => {
dispatch({type: 'UPLOADING_START'})
axios.post("http://api.giphy.com/v1/gifs?api_key=MY_API_KEY", item)
.then(res => {
console.log(res)
dispatch({type: 'UPLOADING_SUCCESS', payload: res.data})
})
.catch(error => {
dispatch({type: 'UPLOADING_ERROR', payload: error})
})
}
}
моя ошибка
403 (Forbidden)
has been blocked by CORS policy: Response to preflight request doesn't pass access control check: No 'Access-Control-Allow-Origin' header is present on the requested resource.
также обратите внимание, что я просто помещаю сюда MY_API_KEY, потому что я не хотел делиться этим в посте, и у меня нет производственного ключа. Тем не менее, в нем говорилось, что у меня может быть до 5 загрузок GIF в день.