惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

WordPress大学
WordPress大学
J
Java Code Geeks
Martin Fowler
Martin Fowler
Microsoft Azure Blog
Microsoft Azure Blog
月光博客
月光博客
freeCodeCamp Programming Tutorials: Python, JavaScript, Git & More
人人都是产品经理
人人都是产品经理
有赞技术团队
有赞技术团队
爱范儿
爱范儿
Engineering at Meta
Engineering at Meta
GbyAI
GbyAI
博客园 - 【当耐特】
Y
Y Combinator Blog
Last Week in AI
Last Week in AI
MongoDB | Blog
MongoDB | Blog
G
Google Developers Blog
博客园 - 三生石上(FineUI控件)
Cyber Security Advisories - MS-ISAC
Cyber Security Advisories - MS-ISAC
大猫的无限游戏
大猫的无限游戏
罗磊的独立博客
The Cloudflare Blog
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
V
V2EX
博客园 - 司徒正美

博客园 - 火冰·瓶

Cloudflare Tunnel 有两种模式 用 Cloudflare Tunnel 实现从外网 SSH 登录内网服务器 Cloudflare + .NET Core MVC 部署完整流程 推荐好用的web控件 ubuntu运维 使用Frp+Caddy把https映射到内网的web服务 net core中结合EntityFrameworkCore的DB first使用PostgreSQL OneDrive中设置不同步某个文件夹 Framework 4.7老项目运行到caddy Action<T> 和 Func<T>的用法 EF Core经验 net core随记 asp.net core 记录页面访问次数,同一个IP一个小时只算一次 asp.net core 记录页面访问记录 asp.net core 发布到caddy asp.net core发布到Caddy获取用户的真实ip 统计文章阅读量,一小时内重复刷新的不重复统计 使用on()方法绑定事件,解决动态加载的元素事件绑定 鼠标悬停在图片上方时,显示文字
net core 后端获取网络图片的扩展名
火冰·瓶 · 2026-04-15 · via 博客园 - 火冰·瓶
public static string GetImageExtension(byte[] bytes)
{
    if (bytes.Length < 12) return "unknown";
    if (bytes[0] == 0xFF && bytes[1] == 0xD8) return "jpg";
    if (bytes[0] == 0x89 && bytes[1] == 0x50) return "png";
    if (bytes[0] == 0x47 && bytes[1] == 0x49) return "gif";
    if (bytes[0] == 0x52 && bytes[1] == 0x49 && bytes[8] == 0x57 && bytes[9] == 0x45) return "webp";
    return "unknown";
}

使用:

HttpClient client = new HttpClient();  //正式环境不这样使用
var bytes = client.GetByteArrayAsync(url).Result;
string ext = Path.GetExtension(url);   //url以扩展名结尾的,先用库函数判断
if (string.IsNullOrEmpty(ext))
{
	ext= GetImageExtension(bytes);
}