6.26文件传输事件处理程序

创建于 2026 年 8 月 17 日约 2 分钟读完

IHttpFileTransferEventHandler 接口允许您定义下载或上传文件的预处理操作。通过实现该接口,您可以创建自定义的文件传输事件处理程序,例如 CustomFileTransferEventHandler 类:

cs
public class CustomFileTransferEventHandler : IHttpFileTransferEventHandler{    // 在文件开始传输时的操作    public void OnTransferStarted() {}    // 传输进度发生变化时的操作    public Task OnProgressChangedAsync(FileTransferProgress fileTransferProgress) {}    // 在文件传输完成时的操作    public void OnTransferCompleted(long duration) {}    // 在文件传输发生异常时的操作    public void OnTransferFailed(Exception exception) {}}

要在应用程序中启用此处理程序,请在 Startup.csProgram.cs 文件中注册 CustomFileTransferEventHandler 服务:

cs
services.TryAddSingleton<CustomFileTransferEventHandler>();

接下来,您可以在构建 HTTP 请求时指定此处理程序:

cs
HttpRequestBuilder.UploadFile("https://localhost:7044/HttpRemote/AddFile", @"C:\Workspaces\httptest.jpg", "file")    .SetEventHandler<CustomFileTransferEventHandler>();HttpRequestBuilder.UploadFile("https://localhost:7044/HttpRemote/AddFile", @"C:\Workspaces\httptest.jpg", "file")    .SetEventHandler(typeof(CustomFileTransferEventHandler));    // 使用类型方式设置