React Native-将FormDate发送到C#API
我正试图从我的React原生应用程序向我的C#API发送两条信息 我只需要发送一个用户ID和一张图片。如果我在PostMan上使用表单数据,那么信息就会成功地到达API,并且一切都正常工作。通过React Native发送数据是我遇到问题的地方 它没有获得用户ID。我正在发送一个值2,但当我在API上获得它时,它是0 反应本机代码(代码段): (Api是Axios的一个实例) C代码(代码片段):React Native-将FormDate发送到C#API,c#,reactjs,react-native,C#,Reactjs,React Native,我正试图从我的React原生应用程序向我的C#API发送两条信息 我只需要发送一个用户ID和一张图片。如果我在PostMan上使用表单数据,那么信息就会成功地到达API,并且一切都正常工作。通过React Native发送数据是我遇到问题的地方 它没有获得用户ID。我正在发送一个值2,但当我在API上获得它时,它是0 反应本机代码(代码段): (Api是Axios的一个实例) C代码(代码片段): [HttpPatch] [路线(“SaveProfilePictureUri”)] 公共异步任务S
[HttpPatch]
[路线(“SaveProfilePictureUri”)]
公共异步任务SaveProfilePictureUri([FromForm(Name=“userId”)]int-userId[FromForm(Name=“profilePicture”)]IFormFile-profilePicture)
{
Request.Headers.TryGetValue(“请求者”,out-var请求者);
_securityService.ValidRequester(请求者);
Request.Headers.TryGetValue(“JwtToken”,out var JwtToken);
_securityService.CheckAuthentication(userId,jwtToken);
return wait\u userService.SaveProfilePictureUri(userId,profilePicture);
}
我还能尝试什么呢?我终于想出了办法 我需要在API调用中删除formData周围的花括号:facepalm: 发件人: 致:
Api.defaults.headers.common['Content-Type'] = 'multipart/form-data'
var name = userId + '.jpg'
let formData = new FormData()
formData.append('userId', userId)
formData.append('profilePicture', {
uri:
Platform.OS === 'android'
? profilePicture.uri
: profilePicture.uri.replace('file://', ''),
name: name,
type: 'image/jpg',
})
const response = await Api.patch('/User/SaveProfilePictureUri', {
formData,
})
[HttpPatch]
[Route("SaveProfilePictureUri")]
public async Task<bool> SaveProfilePictureUri([FromForm(Name = "userId")] int userId, [FromForm(Name = "profilePicture")] IFormFile profilePicture)
{
Request.Headers.TryGetValue("Requestor", out var requester);
_securityService.ValidRequester(requester);
Request.Headers.TryGetValue("JwtToken", out var jwtToken);
_securityService.CheckAuthentication(userId, jwtToken);
return await _userService.SaveProfilePictureUri(userId, profilePicture);
}
const response = await Api.patch('/User/SaveProfilePictureUri', {
formData,
})
const response = await Api.patch('/User/SaveProfilePictureUri', formData)