我找到了解决办法。所以问题实际上不是代码本身,而是同时发送多个文件。为了解决所有问题,我做了这样的事:
this.state.fotos.forEach((foto, i) => {
formData.append(`foto${i}`, {
uri: foto,
type: "image/jpg",
name: "foto.jpg"
});
})
this.props.servico.criar(formData);
以及将请求发送到服务器的函数:
criar: (servico) => {
this.setState({carregando: true});
axios.post(`${REQUEST_URL}/arquivos/seila/upload`, servico).then((response) => {
this.setState({carregando: false});
this.props.alertWithType("success", "Sucesso", "Arquivo salvo com sucesso");
}).catch(error => {
this.setState({carregando: false});
this.props.alertWithType("error", "Erro", error.response.data.error.message);
})
},
所以您不需要将内容类型头设置为多部分/表单数据,也不需要将图像转换为blob,实际上您只需要每个图像的uri,我认为Type和name属性是可选的。