我正在尝试将FormData从React JS发送到后端(express node server),如下所示。
我看到req的空值。身体myFormData(expressTest.js)
。我也尝试了这篇文章中的建议,但没有成功。感谢您的帮助。
如何从React js axios post请求发送FormData到节点服务器?
反应测试。js模块
myFormData = new FormData();
myFormData.append("userName","TestUser")
myFormData.append("files", file) // input type file
export const sendDocument = async (myFormData) => {
return await axios({
method: 'post',
url: `/sendDocument`,
data: myFormData,
headers: { 'Content-Type': 'multipart/form-data' }
});
};
快速Test.js
const express = require('express')
const axios = require('axios')
const router = express.Router()
router.post('/', (req, res) => {
console.log(req.body.myFormData) //giving undefined //tried req.myFormData too
console.log(JSON.parse(req.body.myFormData.userName))
axios({
method: 'post',
url: '/sendMyUserData',
data: req.body.myFormData,
headers: {
apiKey: 'keytoapi',
'Content-Type': 'multipart/form-data'
}
})
.then(response => {
return res.send(res)
})
.catch(error => {
console.error('error')
}
添加@con fused和@Kidas推荐的multer
后,我可以在Express router中读取FormData。
下面是输出。
console.log(req.body)
[Object: null prototype] {
files: '[object File]',
userName: 'TestUser'
}
现在我需要把这个发送到我的后端Javaendpoint,我发送的是正确的正文吗?它没有击中我的终点
@PostMapping(path = "/sendMyUserData", consumes = { MediaType.MULTIPART_FORM_DATA_VALUE })
public String uploadMyUserData(@RequestPart(value = "files") final MultipartFile[] multipartFiles, @RequestPart(value = "userName", required = true) String userName ) {
return myService.storeFiles(multipartFiles, userName));
}
您需要multer来获取多部分/表单数据。
npm i multer
formdataParser = require('multer')().fields([])
app.use(formdataParser)
根据更新
https://github.com/expressjs/body-parser/issues/88#issuecomment-173644716评论
问题内容: 我们想将图像文件作为multipart / form发送到后端,我们尝试使用html表单获取文件并将文件作为formData发送,这是代码 后端中的错误是 “嵌套异常为org.springframework.web.multipart.MultipartException:无法解析多部分servlet请求;嵌套异常为java.io.IOException:org.apache.tomc
问题内容: 我想使用Android将数据发送到我的php页面。我该怎么做? 问题答案: 您可以使用AndroidHttpClient进行GET或POST请求: 创建一个AndroidHttpClient来执行您的请求。 创建一个HttpGet或HttpPost请求。 使用setEntity和setHeader]方法填充请求。 对您的请求使用客户端上的execute方法之一。
我一直在做这个项目,其中一个部分包括从Raspberry向我的服务器发送一些数据。但它不能正常工作,我不知道为什么。我试图通过删除“urllib2”并使用“request”来修复错误。但徒劳的是,一切都没有改变。如果有人能帮助我,我会非常感激的。谢谢! PHP代码: python代码:
在我的应用程序中,我试图将数据从我的发送到一个名为的服务。这是我的以下代码: MainActivity.class: BGS服务。课程: 但我没有在服务类中获取数据。以下是我得到的错误: 02-25 09:05:41.166:E/AndroidRuntime(2633): JAVAlang.RuntimeException:无法启动活动 组件信息{com.microapple.googleplac
试图通过改装将表单数据发送到服务器,但无法向服务器请求。我想用他们的数据发布一个图像数组。 我尝试了许多解决方案,但无法发布包含其数据的图像阵列。当我从addFormDataPart中删除provider\u文档时,效果很好。 如何发送array,它在上运行良好。 请求Api
问题内容: 我在通过Notification从服务向活动发送数据时遇到问题,我单击了一个活动被调用的通知,但是当我尝试通过捆绑包添加一些参数时,我无法获得所谓的intent中的参数,我经历了链接 如何将通知单击中的参数发送到活动? 但是仍然没有运气。 其他人也发生过同样的问题吗? 提前致谢。 问题答案: 您还必须修改清单文件。 这是有效的示例: 这些变量和方法是Service类的成员: 这是Mai