fetch 如何发送复杂表单到PHP后台,接收并存储?

请问:一个表单里既有普通字段,也有一个文件上传的字段,是否可以使用fetch实现提交表单?
前提是使用 json 格式发送,也就是说文件的字段需要转换成字符串。

后台 PHP 使用 file_get_contents(‘php://input’), true) 进行接收。

请问该把需要上传的文件转换成什么?目前只知道图片可以转成 base64 ,那如果是其他格式呢,比如压缩包应该怎么整?

是不是这类不仅仅是文件上传的表单,不适合使用 fetch 进行操作。
从网上已经查过一些资料,但是并没有找到。

部分参考
blog.51cto.com/lxw1844912514/29414...

developer.mozilla.org/zh-CN/docs/W...

developer.mozilla.org/zh-CN/docs/W...

讨论数量: 1

文件转为base64编码,再构造json数据发送

const fileBase64 = ""; // 文件转base64
const json = {
  username: 'john',
  fileBase64: fileBase64 
};
// Fetch 发送
fetch('upload.php', {
  method: 'POST',
  body: JSON.stringify(json)  
});
8个月前 评论

讨论应以学习和精进为目的。请勿发布不友善或者负能量的内容,与人为善,比聪明更重要!