【发布时间】:2014-03-05 09:16:21
【问题描述】:
我正在使用 MVC 5 和 Identity 创建一个 Web 应用程序。到目前为止,我已经创建了一个注册系统,但我希望允许用户在注册时上传个人资料。
我想知道是否可以使用 asp.net 身份实现个人资料图片?
【问题讨论】:
标签: asp.net-mvc asp.net-mvc-5 image-uploading asp.net-identity user-profile
我正在使用 MVC 5 和 Identity 创建一个 Web 应用程序。到目前为止,我已经创建了一个注册系统,但我希望允许用户在注册时上传个人资料。
我想知道是否可以使用 asp.net 身份实现个人资料图片?
【问题讨论】:
标签: asp.net-mvc asp.net-mvc-5 image-uploading asp.net-identity user-profile
是的。假设您使用的是默认实体框架实现,您可以在名为 Models/IdentityModels.cs 的文件中扩展 ApplicationUser。
您可以将图像存储在数据库中或文件系统的其他位置。
将它存储在数据库中的一种方法是在模型中使用字节数组(我相信它映射到varbinary(max))...
public class ApplicationUser : IdentityUser
{
public byte[] Image { get; set; }
}
有关如何通过 EF 保存上传图像并保存在数据库中的详细信息,请参见此处... Entity Framework 5 Code first adding an image
或者您可以简单地将上传的文件保存到文件系统或 Blob 存储中,然后将路径或 URL 存储到图像...
public class ApplicationUser : IdentityUser
{
public string ImagePath { get; set; }
}
【讨论】:
最好的办法是创建第二个表(或在当前表中添加一列),在注册表单中添加文件上传功能。注册成功后,使用 EntityFramework 将图片添加到数据库中。创建一个页面以通过用户 ID 返回图片,以便您可以将其包含在某个页面中。
【讨论】: