1

我正在尝试将 gif 上传到 giphy api,我想知道是否有人对此有任何经验并可以提供一个示例。我看到它想要一个参数文件作为二进制字符串,所以我使用'react-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。

4

0 回答 0