1

画像値を関数に渡す必要がありますが、どのデータ型を使用すべきかわかりませんか?私はあなたの答えに本当に感謝しています...

典型的な関数は次のようになります。

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

// code here

}

ログインに成功した後、TwitterAPIを使用しています。関数を使用してユーザー情報をデータベースに保存したいと思います。そのため、Twitterから当社のWebサイトにプロファイル情報をインポートできます。

Default.aspxには、次のようなコード行があります。

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

Default.aspx.csで使用しました

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

したがって、そのように使用することにより、プロフィール写真がWebページに表示されます。リンク(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をデータベースに保存し、それをWebページで使用して、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 に答える