1

我需要将图像值传递给函数,但我不知道应该使用哪种数据类型?我真的很感谢你的回答...

典型的函数如下所示:

void UserInfo(string userName, string userEmail,((image type? )) userImagel)
{

// code here

}

成功登录后,我正在使用 Twitter API。我想使用函数将用户信息保存在数据库中。这样他们就可以将他们的个人资料信息从 twitter 导入我们的网站。

在 Default.aspx 中有这样一行代码:

<img src="<%=profileImage%>" />

在我使用的 Default.aspx.cs

public string profileImage=""; 
.
.
.
     profileImage = Convert.ToString(o["profile_image_url"]);

因此,通过使用这种方式,个人资料图片会出现在网页上。很明显,它是作为链接 (URL) 提供的。现在,如何从我的数据库中的那个 URL 保存该图像?以及如何在函数中传递它的值?

此致

4

3 回答 3

2

怎么样:

void UserInfo(string userName, string userEmail, System.Drawing.Image userImagel)
{

// code here

}
于 2013-03-23T07:26:58.703 回答
2

通常,除非有特殊原因,否则我会避免将图像二进制文件存储在数据库中。无论如何,正如您所描述的,您还没有图像,您有图像的 URL:

private void UserInfo(string userName, string userEmail, string imageURL);

问题是如何处理图像。

如果要获取实际图像,可以使用 下载System.Net.WebClient,例如:

private void UserInfo(string userName, string userEmail, string imageURL)
{
    WebClient client = new WebClient();
    byte[] imgData = client.DownloadData(imageURL);

    // store imgData in database (code depends on what API you're 
    // using to access the DB
}

但是,还有更多可能和可扩展的场景:

  • 您可以将图像的 URL 存储在您的数据库中并在您的网页中使用它,让 Twitter 提供图像(节省您的带宽)。

  • 您可以下载图像(如上),然后将其存储在 Web 服务器的硬盘上而不是数据库上。这样,图像请求可以由 Web 服务器而不是数据库来处理,如果您的服务增长(缓存、CDN 等),这通常有很多优势

于 2013-03-23T08:02:49.820 回答
1

创建图像文件的对象:

Bitmap bimage = new Bitmap(@"C:\Pictures\2765.jpg");

并通过你的函数传递这个对象:

UserInfo("abc", "abc@yahoo.com", bimage);

接收图像:

void UserInfo(string userName, string userEmail, Bitmap userImagel)
{    
// code here    
}
于 2013-03-23T07:30:25.813 回答