在使用的react版本如下:
已写的代码:
const Basic = () => {
const [tempSlides, setTempSlides] = useState([])
let houseImg
let V
function mockUpload(file) {
V = file
console.log('位置2',V)
return {
url: URL.createObjectURL(file)
}
}
console.log('位置3', V)
const addHouse = () => {
if (tempSlides.length > 0) {
houseImg = tempSlides.forEach((item,index) => {
const form = new FormData()
console.log('位置1',item)
form.append('file', V)
API.post('/houses/image',form,{
headers: {
'Content-Type': 'multipart/form-data'
}
}).then(()=>{
// ...
})
})
}
}
return (
<Form layout='horizontal' onFinish={addHouse} footer={
<div>
<Button block type='submit' color='success' size='middle'>
提交
Button>
div>
}
>
<List header='房屋图像'>
<Form.Item>
<ImageUploader
value={tempSlides}
onChange={setTempSlides}
multiple={true}
upload={mockUpload}
/>
Form.Item>
List>
Form>
)
}
目前界面:
打印结果:
浏览器报错:
Failed to execute 'append' on 'FormData': parameter 2 is not of type 'Blob'.
未能对“FormData”执行“append”:参数2不是“Blob”类型。
搜索过网上关于append()的用法,()里的第二个参数的类型要为File类型,而以上代码里的位置1已为File类型,并且将其赋值给变量V,为何V的打印结果仍为undifined?
请问如何才能将mockUpload里的file放到append里使用?请在现有代码基础上展示举例说明,谢谢