【问题标题】:send image array for fetch formData in react-native发送图像数组以在 react-native 中获取 formData
【发布时间】:2024-05-20 06:20:02
【问题描述】:

使用 console.log 我可以看到数组 imagenes,这在 proyect react-native 中是可以的,但是在服务器上这个变量没有到达,但是如果我在服务器上获得日期数组和变量描述

p>

let body = new FormData();
body.append('descripcion', 'dsadsadsa');
body.append('fechas[]', '2018-05-05');
body.append('fechas[]', '2015-05-05');

const {page1, page2, page3, page4, page5} = this.props.items;
body.append('imagenes[]', { uri: page2[2], name:'photo1.jpg', type: 'image/jpg'});

body.append('imagenes[]', { uri: page2[3], name:'photo2.jpg', type: 'image/jpg'});

body.append('imagenes[]', { uri: page2[4], name:'photo3.jpg', type: 'image/jpg'});

fetch(url, {
	method: 'post',
	headers: {
		'Accept': 'application/json',
		'Content-Type': 'multipart/form-data'
	},
	body: body
})
	.then(res => res.text())
	.then(res => {
		console.log(res)
	}).catch((err) => {
		console.log('err', err)
	});
});

谢谢你的帮助!

【问题讨论】:

  • 一切似乎都正确完成。也许您也应该添加文件名,但这可能并不重要。 this.props.items 里面有什么?也许问题出在服务器端?
  • 在 this.props.items 中来自页面的容器信息(输入、日历和图像)、var page2[2]、page2[3]、page2[4] 容器字符串 uri 图像费用,用于客户端示例模拟器 ios file:///Users/jhonerick/Library/Developer/.../A6A1ACEE-2510-43C6-968A-265617318A5D.jpg
  • 已解决,感谢您的帮助!
  • 您在发送 FormData 时是否使用了调试器?

标签: javascript reactjs react-native xmlhttprequest fetch


【解决方案1】:

RN中的代码上传数据和文件(图片)没问题,vars size文件php.ini(memory_limit,upload_max_filesize,post_max_size)的bug。

在 nginx 中,编辑文件 nginx.conf 添加或更新命令

client_max_body_size 500M

链接https://www.cyberciti.biz/faq/linux-unix-bsd-nginx-413-request-entity-too-large/

【讨论】: