2011-10-13 69 views
0

我的网站具有面向公众的个人资料。用户可能拥有145x145的个人资料图片。此刻,我一个目录下的个人资料图片存储在我的服务器上:/images/users/然后我用一个ashx的文件发球权图像为每一个页面:存储和提供用户个人资料图片的最佳方式

<!-- from the html --> 
<img id="imgLogo" runat="server" alt="Company Logo" src="" /> 

// from the page code behind Page_Load event 
imgLogo.Src = "userImage.ashx?id=" + UserId; 

// from the .ashx file 
String imagePath = context.Server.MapPath("~/images/users/")+context.Request.QueryString["id"]+".jpg"; 

这个代码就在那里,当我加入了这个项目(编写它的人已经离开了。)它似乎很好地工作,但我是网络开发的新手,并且不熟悉其他实现这种系统的方式。

我现在需要为网站添加一种不同类型的图片 - 就像用户个人资料的高大横幅广告。因此,这些图像将比145x145轮廓头像大得多。

我应该如何在我的网站上实现这些功能?我是否应该使用与当前版本相似的系统,将图像存储在/images/users/largeImage中,并将src设置为largeUserImage.ashx文件?还是应该将图像存储在我的sql数据库中?

这很可能是我想在未来添加更多用户定义的图像 - 也许像用户照片集合和类似的东西。我应该考虑制定一个可轻松扩展的系统吗?

回答

1

由于第三方框架如Gravatar不适合您的情况,您必须自行完成。

不要将照片保存在SQL数据库中,而应保存其路径(不同大小的图像路径)。在你userImage.ashx,你可以传递更多的1个参数来判断哪些图像的大小应该是牵强,如脚本:

imgLogo.Src = "userImage.ashx?id=" + UserId + "&size=" + ImageSize; 

其中IMAGESIZE是你定义的变量。

+0

这看起来像一个很好的系统,但我网站上的用户是企业而不是人,所以我不认为它会起作用。 – Oliver

+0

根据您的评论更新了答案。 – Raptor

相关问题