服务器端的HTTP POST请求进度

本文关键字:请求 POST HTTP 服务器端 | 更新日期: 2023-09-27 18:25:27

我正在开发一个将图片上传到服务器的移动应用程序。在服务器端,我有C#和ServiceStack。我想知道是否有一种方法可以捕捉上传过程的进度(通过HTTPPOST多部分/表单数据),并在每次请求块到达时做一些事情(通过Web套接字通知另一个客户端进度)。

我知道从上传客户端很容易知道已经发送了多少数据,但我也想在服务器端知道。感谢您的帮助。

服务器端的HTTP POST请求进度

无法在服务器上为文件上传提供进度更新,因为只有在服务器接收到文件后才会调用像ServiceStack这样的ASP.NET HttpHandlers。

我会坚持客户端回调来报告上传服务器的进度,例如:

client.OnUploadProgress = (bytesWritten, total) => 
    "Written {0}/{1} bytes...".Print(bytesWritten, total);
client.PostFileWithRequest<UploadResponse>(url, new FileInfo(path), 
    new Upload { CreatedBy = "Me" });