【问题标题】:Blazor WASM .net HttpClient with MultipartFormDataContent not working带有 MultipartFormDataContent 的 Blazor WASM .net HttpClient 不起作用
【发布时间】:2021-02-04 09:45:52
【问题描述】:

我在带有 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;
        }

....
...
}

【问题讨论】:

    标签: c# asp.net-core blazor multipartform-data blazor-webassembly


    【解决方案1】:

    好的,我只是删除这一行

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

    一切正常

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2022-01-01
      • 2021-06-20
      • 1970-01-01
      • 2021-06-29
      • 1970-01-01
      • 1970-01-01
      • 2021-11-09
      • 1970-01-01
      相关资源
      最近更新 更多