问题描述
我通常使用 axios 和 postman 上传图像,它们无需额外配置即可工作。 我只是将图像文件附加到表单数据并发送它,服务器正确检测它并保存它。 但是,使用 react admin,我以原始格式获取它,如果我尝试上传它,则服务器无法正确检测到它。 我如何在不弄乱它们的情况下使反应管理员上传图像。 我只想以与 fetch 或 axios 使用的格式相同的格式上传图像。 当我使用 axios 在 chrome 中检查网络工具时,文件字段的类型为二进制,但是 react admin 显示了一个具有 rawFile 字段的对象,如果我尝试发送 rawfile 字段,则它不起作用。
解决方法
在我的 DatProvider 中,它是这样完成的:
case CREATE:
options.method = 'POST'
if (resource === 'photos') {
const { file,...model } = params.data
let form = new FormData()
if (file && file.rawFile) {
form.append('file',file.rawFile)
}
options.body = form
}