נושאים פעיליםנושאים פעילים  הצגת רשימה של חברי הפורוםרשימת משתמשים  חיפוש בפורוםחיפוש  עזרהעזרה
  הרשמההרשמה  התחברותהתחברות RSS עדכונים
תיכנות
RSS UnderWarrior Forums : RSS תיכנות
נושא

נושא: C# שליפת תמונות מDB

שליחת תגובהשליחת נושא חדש
כותב
הודעה << נושא קודם | נושא הבא >>
אלעד
משתמש חבר
משתמש חבר
סמל אישי

הצטרף / הצטרפה: 21 March 2005
מדינה: Israel
משתמש: מנותק/ת
הודעות: 166
נשלח בתאריך: 09 December 2006 בשעה 11:58 | IP רשוּם
ציטוט אלעד

הי,

אני רוצה לכתוב תוכנית ב ASP .NET שתשלוף מDB תמונות ותציג אותם (אני משתמש בC# וב SQL SERVER 2000) .

 

לתשובתכם הודה.



__________________
כן?
לא?
שחור לבן.
חזרה לתחילת העמוד הצג את כרטיס החבר של אלעד חפש הודעות אחרות של אלעד
 
shoshan
מנהל האתר
מנהל האתר
סמל אישי

הצטרף / הצטרפה: 16 July 2005
מדינה: Israel
משתמש: מנותק/ת
הודעות: 4637
נשלח בתאריך: 09 December 2006 בשעה 12:53 | IP רשוּם
ציטוט shoshan

במסד יש תמונה ?

כמו שהייתה שמורה בקובץ...

אתה פשוט צריך לעשות דף נפרד שקורא אותה ושולח אותה ומוסיף header של content-type: image/png או איזה פורמט שזה לא יהיה...


__________________
עד מתי רשעים יעלוזו?

עַל כֵּן אֶמְאַס וְנִחַמְתִּי עַל עָפָר וָאֵפֶר.
חזרה לתחילת העמוד הצג את כרטיס החבר של shoshan חפש הודעות אחרות של shoshan בקר בדף הבית של shoshan
 
אלעד
משתמש חבר
משתמש חבר
סמל אישי

הצטרף / הצטרפה: 21 March 2005
מדינה: Israel
משתמש: מנותק/ת
הודעות: 166
נשלח בתאריך: 09 December 2006 בשעה 14:26 | IP רשוּם
ציטוט אלעד

אני מצטער אבל לא כול כך הבנתי אותך, כלומר איך עושים את מה שאמרת.

במסד עמודה מסוג IMAGE ואני רוצה שיוכלו לראות אותה בתוכנית, כשאני עושה שליפה רגילה לתוך DATAGRING הוא רושם לי SYSTE.BYTE.

 

 



__________________
כן?
לא?
שחור לבן.
חזרה לתחילת העמוד הצג את כרטיס החבר של אלעד חפש הודעות אחרות של אלעד
 
shoshan
מנהל האתר
מנהל האתר
סמל אישי

הצטרף / הצטרפה: 16 July 2005
מדינה: Israel
משתמש: מנותק/ת
הודעות: 4637
נשלח בתאריך: 09 December 2006 בשעה 17:09 | IP רשוּם
ציטוט shoshan

בתבנית של איך להציג כל שורה תשים משהו כזה:
קוד:
<img src="DisplayImage.aspx?imgID=12" />


ותיצור לעצך את הדף DisplayImage.aspx שיעשה משהו כזה...(יותר נוח לי ב-asp)
קוד:

 'Declare Variables..
    Dim sql
    Dim rs
    Dim conn
    Dim userID,str
    
    userID = Request("PhotoId")
    If userID = "" Then userID = 0
   
    'Instantiate Objects
    Set conn = Server.CreateObject("ADODB.Connection")
    Set rs = Server.CreateObject("ADODB.Recordset")
   
    'Open connection
    Conn.Open "Provider=Microsoft.Jet.OLEDB.4.0;" & _
             "Data Source=" & Server.MapPath("data.mdb")
   
    'Get the specific image based on the ID passed in a querystring
    str = "SELECT user_photo FROM users where user_id =" & userID
    rs.Open str, conn,3,3
    if rs.eof then 'No records found
        Response.End
    else 'Display the contents
        Response.ContentType = "image/gif"
        Response.BinaryWrite(rs("user_photo"))
    end if

   
    'destroy the variables.
    rs.Close
    conn.Close
    set rs = Nothing
    set conn = Nothing



כמובן שאתה צריך להחליך ל-ms sql ולשנות את השמות של הדטות והטבלאות, אבל זה הרעיון.

__________________
עד מתי רשעים יעלוזו?

עַל כֵּן אֶמְאַס וְנִחַמְתִּי עַל עָפָר וָאֵפֶר.
חזרה לתחילת העמוד הצג את כרטיס החבר של shoshan חפש הודעות אחרות של shoshan בקר בדף הבית של shoshan
 
tal
אורח
אורח


הצטרף / הצטרפה: 01 October 2003
משתמש: אונליין
הודעות: 12647
נשלח בתאריך: 09 December 2006 בשעה 22:31 | IP רשוּם
ציטוט tal

שושן, הוא מדבר על ASP.net ואתה מדבר על ASP.

היי אלעד,

דבר ראשון אני חייב לציין שזאת טעות חמורה לאחסן תמונה בתוך ה- DB... מה שבסופו של דבר יקרה זה שה- DB יתנפח והביצועים ירדו בצורה משמעותית.. לא שום סיבה. הפיתרון הכי טוב זה לאחסן ב- DB לינקים\מיקומים של התמונות ואחרכך לייבא אותם משם.

אבל בוא נניח שאתה רוצה להמשיך בדרך הנוכחית,

לפני שאנחנו בכלל ניגשים חשוב שתזכור שהתמונה בתוך ה- DB מיוצגת כרגע בבינארית.. הוא לא יכול באמת לאחסן את התמונה כמו שהיא..

מה שתצטרך לעשות זה 2 דברים:

א. לתוך ה- GRIDVIEW שלך תכניס control של תמונה.

ב. במידה ויש לcontrol שלך פונקציה שמקבלת תמונה כמערך של בייטים או משהו כזה אתה יכול להשתמש בה.. במידה ולא בעת ההוצאה של התמונה מה-DB תקח את כל הבייטים ותשמור אותם לקובץ זמני על המכונה ואז תשתמש בcontrol שיש לך כדי לטעון את התמונה מהמיקום שלה ולהציג אותה.

 

במידה ואני אמצא פתרון יותר טוב לשאלה שלך אני אכתוב לך..

למרות ששוב, אני ממליץ בחום שלא תאחסן את התמונה בתוך ה- DB אלא תחזיק לינק לתמונה בתוך ה- DB ותטען אותה מהמיקום שלה. זה יותר חכם והביצועים של האפליקציה שלך יקפצו לשמיים (בעיקר אם אתה מאחסן הרבה תמונות ועושה על הטבלה של התמונות הרבה שאילתות)..

מקווה שעזרתי.. אתה מוזמן לשאול שאלות אם משהו לא ברור..

בהצלחה,

טל.

חזרה לתחילת העמוד הצג את כרטיס החבר של tal חפש הודעות אחרות של tal בקר בדף הבית של tal
 
shoshan
מנהל האתר
מנהל האתר
סמל אישי

הצטרף / הצטרפה: 16 July 2005
מדינה: Israel
משתמש: מנותק/ת
הודעות: 4637
נשלח בתאריך: 09 December 2006 בשעה 22:44 | IP רשוּם
ציטוט shoshan

אמרתי שיותר נוח לי לכתוב ב-ASP, אבל אותו סיפור ב- asp.net - לכתוב אותה בכל הדרה
בתור קובץ נפרד, ולפרט לדפדפן איזה פורמט תמונה זה.

__________________
עד מתי רשעים יעלוזו?

עַל כֵּן אֶמְאַס וְנִחַמְתִּי עַל עָפָר וָאֵפֶר.
חזרה לתחילת העמוד הצג את כרטיס החבר של shoshan חפש הודעות אחרות של shoshan בקר בדף הבית של shoshan
 
אלעד
משתמש חבר
משתמש חבר
סמל אישי

הצטרף / הצטרפה: 21 March 2005
מדינה: Israel
משתמש: מנותק/ת
הודעות: 166
נשלח בתאריך: 10 December 2006 בשעה 14:43 | IP רשוּם
ציטוט אלעד

רציתי לשאול מה זה אומר:

Response.BinaryWrite(rs("user_photo"))

ואיך אני שומר את השליפה שלי מהDB לקובץ בינארי ב C#?

מצאתי את הכתבה הזו:

http://www.codeproject.com/cs/database/images2db.asp

אבל לצערי אני לא מצליח לחזור אחריה .



__________________
כן?
לא?
שחור לבן.
חזרה לתחילת העמוד הצג את כרטיס החבר של אלעד חפש הודעות אחרות של אלעד
 
tal-
משתמש מתחיל
משתמש מתחיל


הצטרף / הצטרפה: 29 October 2006
משתמש: מנותק/ת
הודעות: 13
נשלח בתאריך: 10 December 2006 בשעה 21:53 | IP רשוּם
ציטוט tal-

אז אם ככה, הפתרון ששושן הציע לך רלוונטי.. כמובן שהוא כתב את זה ב- ASP..(ואכן, זה אומנם אותו הקונספט אבל זה סינטקס של VB .. אם הוא היה מתכנת ב- VB.net אז מיילא  )

בכל מקרה,

לגבי השמירה לקובץ בינארי, אתה פשוט לוקח את המערך בייטים הזה וכותב אותו לקובץ..

יש לך את BinaryWriter לדוגמא..

חזרה לתחילת העמוד הצג את כרטיס החבר של tal- חפש הודעות אחרות של tal-
 

אם ברצונך להגיב לנושא זה עליך קודם להתחבר
אם אינך רשום/ה כבר עליך להרשם

  שליחת תגובהשליחת נושא חדש
גרסת הדפסה גרסת הדפסה

קפיצה לפורום
אינך יכול/ה לשלוח נושאים חדשים בפורום זה
אינך יכול/ה להגיב לנושאים בפורום זה
אינך יכול/ה למחוק את הודעותיך ותגוביך בפורום זה
אינך יכול/ה לערוך את הודעותיך ותגובותיך בפורום זה
אינך יכול/ה לצור סקרים בפורום זה
אינך יכול/ה להצביע בסקרים בפורום זה