繁体   English   中英

axios 在本机反应中发布请求并使用 JSON Stringify 和 blob 反应应用程序

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM