[英]axios post request in react native and react app with JSON Stringify and blob
我正在制作一个应用程序,在该应用程序中我在 react native 中调用 API 端点,但出现此错误,但在 web 应用程序中(通过 react 完成)它没有显示任何错误,这是 react 中的 web 应用程序代码打字稿
try {
let result: any;
const criteriaWithNoFile = {
content: filterCriteria.content ? filterCriteria.content.trim() : '',
filterLimit: filterCriteria.filterLimit,
sorting: filterCriteria.sorting,
contractionOption: filterCriteria.contractionOption,
contentId: filterCriteria.contentId,
url: filterCriteria.url ? filterCriteria.url.trim() : ''
}
if (localStorage.getItem('currentUserToken')) {
dispatch({
type: LOADER,
payload: true
});
const formData = new FormData();
const jsonFilterCriteria = JSON.stringify(criteriaWithNoFile);
const blobFilterCriteria = new Blob([jsonFilterCriteria], {
type: 'application/json'
});
formData.append("filterData", blobFilterCriteria);
formData.append("filterFile", filterCriteria.selectedFile);
console.log('FormData', formData);
try {
result = await authAxios.post(`${process.env.REACT_APP_BASE_URL}/filter`, formData, {
headers: {
'Content-Type': 'multipart/mixed'
}
});
这是我在 react native 中尝试的代码
const filterData = {
content: '',
filterLimit: 1000,
sorting: 'NATURAL',
contractionOption: 'LEAVE_CONTRACTION',
contentId: '',
url:
'https://stackoverflow.com/questions/37552973/get-the-time-zone-with-react-native',
};
const data = new FormData();
const jsonFilter = JSON.stringify(filterData);
const blobFilter = new Blob([jsonFilter], {
type: 'application/json',
});
data.append('filterData', jsonFilter);
data.append('filterFile', selectedFile);
await axios
.post('https://capi.beebl.io/filter', data , {
headers: {
'Content-Type': 'multipart/mixed',
},
})
.then((res) => console.log(res))
.catch((err) => console.log(err));
谁能帮助我我做错了什么......
我通过为 FileUpload 和 FilterData 制作单独的 API 来修复它
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.