我確信有人遇到了同樣的問題,但我沒有找到任何東西。我發送發布請求來獲取文件,并得到此模型作為響應: public class ResponseWithFile{ public bool IsSuccessful { get; set; } public List<int> Errors { get; set; } public IFormFile File { get; set; }}我從控制器得到這個響應: [Route("get")] [HttpPost] public async Task<IActionResult> GetFile([FromBody]GetFileDto request) { var result = _fileService.GetFile(request.Id, request.ContentType); if (result.IsSuccessful) return Ok(result); return BadRequest(result); }響應是正確的,我可以將其讀入字符串,但是當我嘗試將其反序列化為響應對象時,出現錯誤: HttpWebResponse resp = (HttpWebResponse)req.GetResponse(); string respString = string.Empty; using (var sr = new StreamReader(resp.GetResponseStream())) { respString = sr.ReadToEnd(); } var serResp = (ResponseWithFile)JsonConvert.DeserializeObject(respString);//error hereInvalidCastException:無法將“Newtonsoft.Json.Linq.JObject”類型的對象轉換為“ServiceModels.ResponseWithFile”類型我確定這是因為 IFormFile 對象。我究竟做錯了什么?
1 回答

慕田峪7331174
TA貢獻1828條經驗 獲得超13個贊
嘗試這個:
var serResp = JsonConvert.DeserializeObject<ResponseWithFile>(respString);
或者
var serResp = (ResponseWithFile)JsonConvert.DeserializeObject(respString, typeof(ResponseWithFile));
- 1 回答
- 0 關注
- 87 瀏覽
添加回答
舉報
0/150
提交
取消