Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/reactjs/25.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
React Native-将FormDate发送到C#API_C#_Reactjs_React Native - Fatal编程技术网

React Native-将FormDate发送到C#API

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

我正试图从我的React原生应用程序向我的C#API发送两条信息

我只需要发送一个用户ID和一张图片。如果我在PostMan上使用表单数据,那么信息就会成功地到达API,并且一切都正常工作。通过React Native发送数据是我遇到问题的地方

它没有获得用户ID。我正在发送一个值2,但当我在API上获得它时,它是0

反应本机代码(代码段): (Api是Axios的一个实例)

C代码(代码片段):

[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)