1 回答

TA貢獻1784條經驗 獲得超8個贊
解決了!
我不得不使用 Axios 的“裸”版本向 S3 發出 put 請求。
我之前使用的是在我的 API 文件中聲明的 Axios 實例......
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
當我通過身份驗證時,這弄亂了我的標題。AWS 不喜歡這樣。
解決方案是將 Redux 操作從
import api from '../api'
...
api.put(signedRequest, file, options)
...
至
import axios from 'axios'
...
axios.put(signedRequest, file, options)
...
同時將其余 API 調用留在默認 API Axios 實例上。
添加回答
舉報