gpt4 book ai didi

javascript - 如何修复 Axios 中的图片上传

转载 作者:行者123 更新时间:2023-11-29 15:55:59 24 4
gpt4 key购买 nike

我在 React 中上传图片时遇到问题。我将 axios 用于 api 请求,将 multer 和 cloudinary 用于文件上传。

更新:在我的依赖中:"axios": "^0.19.0"

我的 .js 文件中的必需依赖项:从“axios”导入 axios;

图像上传已经在我的后端工作 使用 express。但在 react 中它仍然不起作用。我已经检查了所有内容,看起来还不错。下面是代码:

  const [text, setText] = useState('');
const [image, setImage] = useState([]);

const onSubmit = async e => {
e.preventDefault();
let data = new FormData();
console.log(image + ' ' + 'this is image pathname')
data.append('image', image);

axios.post('/api/posts/image', data)
.then(res => {
console.log(res.data + 'this is data after api call');
})
.catch(err => console.log(err));
};

return (
<Fragment>
<form onSubmit={e => onSubmit(e)} className="create-post-form">
<input
type="file"
placeholder="Write something..."
name="image"
value={image}
onChange={e => setImage(e.target.value)}
/>
<br/>
<button className="btn btn-post">Post</button>
</form>
</Fragment>
);

更新服务器端代码:

app.post('/image', upload.single('image'), async (req, res) => {

try {
const result = await cloudinary.v2.uploader.upload(req.file.path);
res.send(result);
} catch(err) {
res.status(500).send('Server Error');
}
});

错误信息:POST http://localhost:3000/api/posts/image 500(内部服务器错误)

最佳答案

首先我看不到任何像这样的标题:

const config = {
headers: { 'content-type': 'multipart/form-data' }
}

所以它应该是这样的:

   const config = {
headers: { 'content-type': 'multipart/form-data' }
}

axios.post('/api/posts/image', data,config)
.then(res => {
console.log(res.data + 'this is data after api call');
})
.catch(err => console.log(err));

我也看不到你的服务器代码,但请检查你有multer在你的包中,你也表达了配置。

关于javascript - 如何修复 Axios 中的图片上传,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57926368/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com