如何使用Web表单上传个人资料图片

时间:2013-06-05 11:04:54

标签: c# asp.net file-upload

我正在创建一个网站,用户可以在其中注册帐户。我想允许他们为他们的个人资料图片上传图片,但我不知道该怎么做。

我有一个数据库,其中包含有关用户的信息,因此当他们想要查看或编辑他们的个人资料时,他们可以这样做。

我正在尝试使用asp.net中的文件上传控件来执行此操作,但通过使用此功能,我可以将图像存储在表格中,但我不知道如何立即向用户显示上传的图像。我用c#在asp.net中编码。所以请建议我任何解决方案。

2 个答案:

答案 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" />

这个链接很好地解释了这些内容。

  

Upload And Retrieve Image From Database

如果您有任何困难,请随时询问。

这是您可以参考的另一个链接。

  

Uploading Image to database