将大文件从核心 Web API 下载到 winforms 会抛出长度 asp.net json 值很大且不受支持



从核心Web API ASP.Net 下载大文件到WinForms时,n长度的JSON值太大且不受支持。

在WinForms中:

Httpcontent httpdata = new StringContent(Jsoncpnvert.Serializeobject(inputmodel),encoding.utf8));
Httpclient client = new httpclient();
MultipartFormDataContent form = new MultipartFormDataContent();
form.add(httpdata,form);
try{
Var response = client.postasync(url,form). result;
Downloadmodel model = response.content.Readasasync<downloadmodel>(). result;
// Here 500 internal server error occurs
}
Server side :
[Httppost]
Public downloadreturnmodel download ()
{
Var httpdata = Request.form["data"];
// Do some process
Result is a downloadreturnmodel 
Return result; 
}

你应该返回一个文件:

[Route("api/[controller]")] 
public class DownloadController : Controller
{
[HttpGet("{id}"]
public async Task<IActionResult> Download(string id) 
{ // Do some process
return File(stream, "application/octet-stream"); // returns a FileStreamResult
}     
}

最新更新