将包含文件和字符串值的对象附加到 FormData - JS

Append object which contain File and String value into FormData - JS

我正在寻找一种解决方案,将包含文件和字符串值的对象附加到 FormData 并将其发送到服务器(Django Rest FrameWork 的 MultiPartParser)。

Console.log(文件)

现在我的代码是:

Fd.append('file_uploads', JSON.stringify({ 'file': file, 'order_num': 1 }) )

当我console.log表单数据的这个值时,它returns{"file":{},"order_num":1}。可以看到文件值为空.

我试图删除 JSON.stringify:

Fd.append('file_uploads', { 'file': file, 'order_num': 1 } )

当我console.log表单数据的这个值时,它returns[object, object].

我要的结果是

{"file":<file_object>,"order_num":1}

您不能使用 FormData 附加文件对象和键值。试试这样的替代解决方案

即)我将添加 order_no 和文件名,在 python 中你可以使用字符串 split 函数来获取 order_no

Fd.append('file_uploads', file, 'your_filename_here_and_order_no');