我正在创建一个网站,用户可以在其中注册帐户。我想允许他们为他们的个人资料图片上传图片,但我不知道该怎么做。
我有一个数据库,其中包含有关用户的信息,因此当他们想要查看或编辑他们的个人资料时,他们可以这样做。
我正在尝试使用asp.net中的文件上传控件来执行此操作,但通过使用此功能,我可以将图像存储在表格中,但我不知道如何立即向用户显示上传的图像。我用c#在asp.net中编码。所以请建议我任何解决方案。
答案 0 :(得分:3)
HTML中的图像由<img />
元素显示,该元素具有src=""
属性,该属性会导致用户代理对该图像资源发出新请求。
因此,解决方案是为任何图像资源设置请求处理程序。
我假设您正在使用WebForms(我现在讨厌转换为MVC合唱团的平台,但我离题了)。您可以使用.ashx
处理程序执行此操作,如下所示:
<img src="ProfileImageHandler.ashx?userId=123" alt="Image for user 123" />
您的ASHX处理程序将具有如下逻辑:
public class Handler : IHttpHandler {
public void ProcessRequest (HttpContext context) {
context.Response.ContentType = "image/jpeg"; // or whatever the content-type of the image really is.
Byte[] image = GetImageFromDatabase(context.Request.QueryString["userId"]);
context.Response.Write( image ); // psuedo-code
}
public bool IsReusable {
get {
return false;
}
}
}
答案 1 :(得分:0)
您可以在asp.net文件上传控件的帮助下完成此操作。我给你一个你可以参考的链接。它就像一个漫步。
<asp:FileUpload ID="fileuploadImage" runat="server" />
这个链接很好地解释了这些内容。
如果您有任何困难,请随时询问。
这是您可以参考的另一个链接。