繁体   English   中英

Blazor WASM .net HttpClient 与 MultipartFormDataContent 不工作

[英]Blazor WASM .net HttpClient with MultipartFormDataContent not working

我在带有 CI3 后端的 Blazor WASM 中的 HttpClient 有问题

// __http is HttpClient injected form DI
var form = new MultipartFormDataContent();
form.Headers.ContentType = MediaTypeHeaderValue.Parse("multipart/form-data");
form.Add(new StringContent("thisistoken"), "token");

var res = await _http.PostAsync("someuri", form);

Console.WriteLine(await res.Content.ReadAsStringAsync());

它返回

{"sts":false,"message":"Kesalahan","token":"","data":"Unauthorized"}

我的后端不读取 HttpClient 使用 MultipartFormDataContent 发送的令牌变量

但是当我使用Javascript (JQUERY AJAX)、 postmancurl时它可以工作! 但 HttpClient 没有

这是我的 curl 命令

curl -X POST  https://someuri  -H 'content-type: multipart/form-data;' -F token=thisistoken

它得到

{"sts":false,"message":"Kesalahan","token":"thisistoken","data":"Unauthorized"}

这是我的后端代码

public function simpan(){

        // load member model
        $this->load->model("Member_model",'member');

        $token = htmlentities($this->input->post('token'));
        $return = [];
        $token_status = $this->tokenStatusMobile($token, 'SEND_DATA');

        // Token does not match
        if(! $token_status['sts']){
            echo json_encode([
                'sts' => false,
                'message' => 'Kesalahan',
                'token' => $token,
                'data' => 'Unauthorized'
            ]);
            return;
        }

....
...
}

好的,我只是删除此行

form.Headers.ContentType = MediaTypeHeaderValue.Parse("multipart/form-data");

一切正常

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM