当前位置: 首页 > 知识库问答 >
问题:

如何发送数据和照片在同一时间节点js后端使用axios反应js

朱天逸
2023-03-14

我正在尝试使用axios将一些表单数据和图像发送到后端,但我的代码不起作用。当我单独发送图像时,它工作;当我单独发送数据时,它工作。但如何同时发送这两个文件:

我正在使用reactjs和useState:

const [roomData, setRoomData] = useState(data)

我所有的数据都在roomData中。

const [files, setfiles] = useState()

我已经使用onchange-on-input标记和setfiles(e.target.files)设置了文件中的图像变量

我已经使用下面的代码从formdata变量中的文件中附加了所有图像

const submitHandler=async(e)=>{
        e.preventDefault()
        const formData= new FormData();
        Array.from(files).forEach(file=>{
            formData.append('photos', file)
        })

        const res= await axios.post(
            'http://localhost:8000/api/sell_products',
            { formData, roomData }
        )

    }

使用这个,我只得到后端的roomData作为请求。身体但当我离开的时候。文件未定义。帮助

共有1个答案

彭阳朔
2023-03-14

您需要将文本中的数据附加到表单数据中。不要单独发送

const submitHandler=async(e)=>{
    e.preventDefault()
    const formData= new FormData();
    form.append('data', roomData);
    Array.from(files).forEach(file=>{
        formData.append('photos', file)
    })

    const res= await axios.post('http://localhost:8000/api/sell_products', { formData})

}
 类似资料:
  • 我在前端使用react js,后端使用spring boot。我需要将Cookie从前端发送到后端,我正在使用axios尝试以下方法: 前端 并在后端使用@CookieValue注释接收Cookie,但当我检查并发现我的请求标头没有携带Cookie时。 请指导我,如何从react js axios方法发送cookie,以便我能够在后端接收它。 编辑 提前谢谢!

  • 我正在用facebook信使API在nodejs中构建一个facebook机器人。我试图通过直接上传heroku服务器本身的图像文件(而不是通过URL),从机器人发送图像,但它不起作用。 以下是控制台的错误日志。 调用Send API 400错误请求失败{消息:'(#100)上载的文件数不正确。必须只上载一个文件。',类型:'OAuthException',代码:100,error_subcode

  • 问题内容: 我正在使用node制作电子邮件客户端。我想在收到任何新电子邮件后立即更新浏览器窗口。我已经使用mail- listener2在服务器端获取电子邮件了。我想将数据推送到客户端。我怎么做? 问题答案: 看一下使用 websocket 将数据实时推送到客户端(浏览器)。我建议使用http://socket.io。他们那里有一些非常棒的演示,展示了您将如何做这样的事情。 您的服务器将发送名为的

  • 我正在使用谷歌云视觉检测图像上的文本。这种方法在80%的情况下有效。另外20%,我得到了这个错误: 当我在谷歌上搜索这个问题时,似乎我需要发送特定的标题和我的请求来解决这个问题,基本上就像这里指定的:https://cloud.google.com/vision/docs/ocr#specify_the_language_optional 但是,我不知道如何用我正在使用的Node.js代码发送这些

  • Expressjs框架有一个方法。如果不使用整个框架,我怎么能做到这一点? 我正在使用node-native-zip创建一个归档文件,并希望将其发送给用户。

  • 我有如下代码: 我如何设置标题?我需要用户代理、内容类型,可能还有其他一些东西在标题中: 我尝试了多种方法,但我可以发送标题或表单数据,但未能同时发送这两种数据。