You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在C#中获取Steam创意工坊提交内容的缩略图?

获取Steam创意工坊提交内容缩略图的C#实现方法

要实现这个异步方法,核心是利用Steam公开的UGC缩略图URL模板获取图片流,再将流转换为Image对象。具体实现如下:

实现思路

  • Steam为每个工坊提交内容提供了固定格式的缩略图地址,模板为 https://steamuserimages-a.akamaihd.net/ugc/{id}/960x540/,其中{id}对应你持有的工坊提交ID。
  • 使用HttpClient异步请求图片流,再将流转换为Image对象,同时处理网络请求、图片解析等异常场景。

完整代码实现

using System.Drawing;
using System.Net.Http;
using System.Threading.Tasks;

public async static Task<Image> GetSteamWorkshopSubmissionThumbnail(string id)
{
    // 构造缩略图URL,960x540为常用缩略图尺寸,可替换为1920x1080等其他尺寸
    string thumbnailUrl = $"https://steamuserimages-a.akamaihd.net/ugc/{id}/960x540/";
    
    using HttpClient client = new HttpClient();
    try
    {
        // 异步获取图片流
        using Stream imageStream = await client.GetStreamAsync(thumbnailUrl);
        // 将流转换为Image对象返回
        return Image.FromStream(imageStream);
    }
    catch (HttpRequestException ex)
    {
        throw new InvalidOperationException($"获取缩略图失败:网络请求异常", ex);
    }
    catch (ArgumentException ex)
    {
        throw new InvalidOperationException($"解析图片失败:返回内容不是有效图片", ex);
    }
}

注意事项

  • 若使用.NET Core 3.1及以上版本,需安装System.Drawing.Common NuGet包,该包不再默认包含在.NET Core SDK中。
  • 实际项目中建议复用单例HttpClient,避免频繁创建实例造成资源浪费(示例为简化逻辑使用局部实例)。
  • 可根据需求调整URL中的尺寸参数,获取不同分辨率的缩略图。

内容的提问来源于stack exchange,提问作者krptck

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.17 23:25:25