React Native FormData 信息被包装到“_parts”中

PoM*_*oMa 9 multipartform-data form-data react-native

我是 React Native 的新手,遇到了 FormData 的行为与预期不同的问题。我的代码:

let fileToSend = new FormData();
    fileToSend.append('File', {
    name: 'file.name',
    size: 'file.size',
    type: 'file.type',
    uri: 'file://',
});
Run Code Online (Sandbox Code Playgroud)

我期望得到这样的东西:

fileToSend = {File: [
   name: 'file.name',
   size: 'file.size',
   type: 'file.type',
   uri: 'file://',
]}
Run Code Online (Sandbox Code Playgroud)

但实际上我得到了这个:

fileToSend = [_parts: [
   0: [
     0: 'File',
     1: {
       name: 'file.name',
       size: 'file.size',
       type: 'file.type',
       uri: 'file://',
        }
]]]
Run Code Online (Sandbox Code Playgroud)

这使得我无法将文件发送到服务器。将非常高兴得到您的帮助。谢谢。

dav*_*der 1

今年已经过去了一年,有点晚了,但请确保您按原样发送正文,并且没有被JSON.stringify()“处理”。

这就是我身上发生的事情,所以现在在我们的请求处理程序中,我们检查 header 是否Content-Type'=== 'multipart/form-data'。如果是,我们首先不会对主体进行字符串化。