首页 > 解决方案 > 将包含文件和字符串值的对象附加到 FormData - JS

问题描述

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

Console.log(文件) 在此处输入图像描述

现在我的代码是:

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

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

我试图删除JSON.stringify

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

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

我想要的结果是

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

标签: javascriptmultipartform-dataform-data

解决方案


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

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

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

推荐阅读