文件上传时重新加载 reactjs 页面



我正在尝试从 react 中的表单向后端发送图像,但如果 FormData 足够大(到目前为止我能够发送超过 1MB 的图像(,它会取消 axios post 请求并重新加载页面。

后端配置为将图像存储在 react 文件夹 (/client/public/uploads( 中,因此问题可能是 react 会重新加载自身,但为什么小图像会通过呢?

控制台没有错误。唯一的提示是带有

添加(取消(XHR 捆绑包.js:2113 0 字节 581 毫秒

那么我应该怎么做才能在不取消的情况下传递数据呢?

上传文件夹中的文件已损坏

编辑:我发现了一件有趣的事情:即使我使用邮递员上传文件,fronend页面也会重新加载。我的猜测是我的浏览器取消了发布请求。所以问题是当我在 react subfoler 中创建图像时如何阻止 react 重新加载页面?

哦,亲爱的,我想我知道你的问题是什么......

您是否使用热重载?也许 webpack DevServer - 或者您使用的任何东西 - 正在侦听更改的文件,如果有什么变化(在您的情况下添加了图像(,它将重新加载页面。

如果使用 webpack 开发服务器,只需将图像文件夹路径添加到监视忽略列表中:

module.exports = {
...
devServer: {
watchOptions: {
ignored: [
path.resolve(__dirname, 'path/to/images')
]
}
},
...
}

否则,您可以在构建应用程序后检查这是否也会在生产中发生......

好吧,不确定这是否是正确的方法,但我的解决方案是将文件存储在后端,这样 react 就不会重新加载并使用 express 提供文件

最新更新