6.68FileTypeMapper 文件 MIME 类型映射
创建于 2026 年 8 月 17 日约 1 分钟读完
在文件上传和下载过程中,通常需要依据文件扩展名来获取或设置其 MIME 类型。这一步骤往往要求开发者手动进行正确设置。为了减轻开发者负担,框架提供了 FileTypeMapper 类型,它能够根据文件扩展名自动返回对应的 MIME 类型。例如:
var fileTypeMapper = new FileTypeMapper();fileTypeMapper.TryGetContentType("image.jpg", out var mimeType); // mimeType 为 "image/jpeg"fileTypeMapper.TryGetContentType("image.png", out mimeType); // mimeType 为 "image/png"框架内置了一个包含 389 种文件扩展名及其对应 MIME 类型的字典,几乎覆盖了所有主流和非主流的文件类型。
此外,框架提供的所有添加文件内容的方法(如 AddFile、AddFileAsStream、AddFileAsByteArray、AddFileFromRemote 等)在用户未指定 contentType 参数时,会自动解析文件的 MIME 类型。若无法解析,则默认设置为 application/octet-stream。例如:
var content = await httpRemoteService.PostAsStringAsync("https://localhost:7044/HttpRemote/AddForm?id=1", builder => builder.SetMultipartContent(multipart => { // 不传递 contentType,自动解析为 "image/jpeg" multipart.AddFileAsStream(@"C:\Workspaces\httptest.jpg", "file") }));借助框架的自动解析功能,开发者在上传文件时无需再手动查找文件的 MIME 类型,从而大大简化了操作流程。