【发布时间】: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)、postman 和 curl 时,它可以工作了!!但 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