1 回答

TA貢獻(xiàn)1784條經(jīng)驗(yàn) 獲得超8個(gè)贊
解決了!
我不得不使用 Axios 的“裸”版本向 S3 發(fā)出 put 請(qǐng)求。
我之前使用的是在我的 API 文件中聲明的 Axios 實(shí)例......
import axios from 'axios'
import store from '../redux/store'
const instance = axios.create({
baseURL: process.env.REACT_APP_API_URL
})
instance.interceptors.request.use(
async (config) => {
const token = store.getState().auth.token
if (token) {
config.headers.Authorization = `Bearer ${token}`
}
return config
},
(e) => {
return Promise.reject(e)
}
)
export default instance
當(dāng)我通過(guò)身份驗(yàn)證時(shí),這弄亂了我的標(biāo)題。AWS 不喜歡這樣。
解決方案是將 Redux 操作從
import api from '../api'
...
api.put(signedRequest, file, options)
...
至
import axios from 'axios'
...
axios.put(signedRequest, file, options)
...
同時(shí)將其余 API 調(diào)用留在默認(rèn) API Axios 實(shí)例上。
添加回答
舉報(bào)