c# - 在 ASP.Net/C# 中验证 Base64 图像

标签 c# asp.net-mvc c#-4.0 asp.net-mvc-4 base64

我正在构建一个 ASP.Net mvc4 应用程序,它允许用户通过 POST 请求发送编码为 Base64 字符串的图像。如何验证用户输入以确保base64字符串确实是图像并防止用户在POST请求中传递恶意数据?例如以防止外部 URL 被注入(inject)。

我找到了 thisthis这告诉在 PHP 中而不是在 Asp.net/C# 中执行此操作。

最佳答案

我会在 PHP 示例中采用相同的方法,基本上尝试从 base64 编码数据创建图像。如果数据不是有效图像,我希望图像会抛出异常或至少为 null。

快速搜索后,我找到了一个 example here on SO显示了几种从 base64 编码字符串创建图像的方法。

假设 ms 是 MemoryStream 类型,我怀疑您可以用 try/catch 包装这些方法之一:

new Bitmap(ms)

mage.FromStream(ms);

关于c# - 在 ASP.Net/C# 中验证 Base64 图像,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17981727/

相关文章:

c# - 无法在 ASP.Net vNext 项目中使用 session

c# - Excel Addin 中的 Application.ActiveWorkbook 为空

C# 如何在不知道您使用的是哪个 poco 的情况下将 Poco 转换为 List<Poco>

c# - 从 Excel VSTO 和 Win Form 运行 WPF 应用程序

asp.net-mvc - 获取 .cshtml 模板中的 MaxLength 值

c# - 使通用对象实例化更通用

c# - 为什么我的列表中的成员会被所述列表的最后一个成员覆盖?

c# - 将 JSON 对象包装在另一个对象中的正确方法是什么?

c# - 为什么 TaskCompleted 在操作结束之前执行

jquery - 显示 asp.net mvc ajax 请求错误的最佳方法是什么