העלאה ופתיחה של קובץ תמונה בפרויקט MVC+ANGULARJS

  • פותח הנושא adin
  • פורסם בתאריך

adin

משתמש פעיל
D I G I T A L
צריכה עזרה ממי שיש לו ניסיון בהוספת תמונה בפרויקט MVC, ANGULARJS - איך נכון לעשות את זה
חשבתי אולי בדרך של שמירה בתיקיה ושמירת נתיב התיקיה בדאטה בייס- אז איך מעלים לתיקיה ואיך מציגים את זה אח"כ?
תודה מראש!
 

סמרקט

מהמשתמשים המובילים!
הנדסת תוכנה
D I G I T A L
את צריכה את זה לפרויקט אמיתי, או שזה נשאר ברמת הלוקל?
 

adin

משתמש פעיל
D I G I T A L
אמיתי לגמרי- יושב על שרת, משהו בעבודה
 

adin

משתמש פעיל
D I G I T A L
לא יודעת למה את מתכוונת ענן, יש שרת IIS שאליו אנחנו מעלים את הפרויקט, וזהו זה נמצא ברשת (זה פתוח רק לאנשי מקצוע במשרד)
הרקע- מדובר במערכת שהמשתמש קצה צריך להעלות תמונות מידי פעם, אני אמורה להעלות את התמונה לשמור אותה באיזושהיא דרך, ואז לפתוח אותה לבקשת המשתמש
 

סמרקט

מהמשתמשים המובילים!
הנדסת תוכנה
D I G I T A L
לא יודעת למה את מתכוונת ענן, יש שרת IIS שאליו אנחנו מעלים את הפרויקט, וזהו זה נמצא ברשת (זה פתוח רק לאנשי מקצוע במשרד)
הרקע- מדובר במערכת שהמשתמש קצה צריך להעלות תמונות מידי פעם, אני אמורה להעלות את התמונה לשמור אותה באיזושהיא דרך, ואז לפתוח אותה לבקשת המשתמש
אוקי, אתם כנראה לא בענן.
מה שצריך זה להגדיר תיקיה בשרת, זה אמור להיות בתיאום עם הסיסטם (מי שאחראי על השרת).
כמו שחשבת, הרעיון הוא לשמור בטבלה את מיקום הקובץ.
מומלץ לחלק לתתי תיקיות, כדי שהשליפה מהדיסק תהיה מהירה ויעילה.
נניח לפי תאריך, כך שקובץ שנשמר בתאריך 29/7/2020 ישמר בניתוב הזה:

//files/2020/07/29
 

סמרקט

מהמשתמשים המובילים!
הנדסת תוכנה
D I G I T A L
בנוסף,
כדאי ששם הקובץ הפיזי ששמור בתיקיה יהיה חד ערכי (מומלץ GUID),
כמובן, את השם המקורי לשמור בטבלה כדי לא לאבד אותו.
 

adin

משתמש פעיל
D I G I T A L
כן זה מה שחשבתי, יש לי בעיה איך לממש את זה, הצלחתי להעלות תמונה לANGULAR JS ואני מקבלת אותה בשרת כסטרינג ארוך שנראה מקודד- השאלה מה הלאה?
או שזה לא נכון ואני צריכה להגיע לשרת עם קובץ תמונה ואז לפתוח תיקיה חדשה ולהכניס לשם ואז לשמור נתיב, אז לא מצאתי קוד שיעלה לי תמונה ויביא אותה עד לשרת.
וכן הפעולה ההפוכה של פתיחת תמונה מתוך נתיב.
 

סמרקט

מהמשתמשים המובילים!
הנדסת תוכנה
D I G I T A L
זה c#?
את אמורה לקבל את זה כאוביקט של File ב-Request,
אבל תלוי איך שלחת מהקליינט.
אולי תעלי את הקוד?
 

adin

משתמש פעיל
D I G I T A L
C# כן
כמו שאמרתי מהקליינט הצלחתי רק להעלות קידוד של תמונה, השתמשתי בקוד הזה:
1596013393042.png


לא הצלחתי להעלות קובץ ממש לקליינט, ולכן גם לא שלחתי אותו לשרת
 
נערך לאחרונה ב:

סמרקט

מהמשתמשים המובילים!
הנדסת תוכנה
D I G I T A L
בעקרון input מסוג file פשוט מכיל את הקובץ.
שולחים אותו ב-FormData.
איך את שולחת קריאות לשרת מהקליינט? (fetch, axios, ajax וכדו')
 

adin

משתמש פעיל
D I G I T A L
זהו ש input מסוג file פשוט לא עובד בד"כ ככה שצריך להוסיף דירקטיב או כל מיני שיטות אחרות, מכאן מתחילה הבעיה..
אני שולחת בג'ייסון מהקליינט, השרת מקבל JasonResult
 

סמרקט

מהמשתמשים המובילים!
הנדסת תוכנה
D I G I T A L
הקובץ נמצא לך כאן:
changeEvent.target.files[0]
פשוט צריך להעביר אותו קומפלט לשרת.

תוכלי להעתיק לפה את הקוד שמבצע את הפניה לשרת?

אגב, השרת מחזיר JasonResult.
 

RRRRR

משתמש מקצוען
את יכולה להפוך את התמונה לבינארי ולשמור את הטקסט בטבלה
אולי מגיע לך קוד בינארי

אולי זה יעזור לך נראה מה שאת מחפשת
 

סמרקט

מהמשתמשים המובילים!
הנדסת תוכנה
D I G I T A L
באופן הזה, איך מטפלים בסיומות שונות של תמונות? (png, jpeg וכו')
 

ביגר

משתמש סופר מקצוען
הנדסת תוכנה
D I G I T A L
נראה שאת מקבלת את הקובץ כbase64
את צריכה בשרת להמיר את זה לבינארי ואז לשמור
 

ביגר

משתמש סופר מקצוען
הנדסת תוכנה
D I G I T A L
התכוונתי, איך יודעים לשמר את הסיומת המקורית?
יתכן שאין צורך, רק צריך לשים לב לנקודה הזו.
צודקת
ועכשיו עליתי בזכותך על בעיה בקוד שלי, אני בעצם תמיד ממירה לJPG :eek:
@RRRRR לך יש רעיון איך פותרים את זה?
 

ביגר

משתמש סופר מקצוען
הנדסת תוכנה
D I G I T A L
צודקת
ועכשיו עליתי בזכותך על בעיה בקוד שלי, אני בעצם תמיד ממירה לJPG :eek:
@RRRRR לך יש רעיון איך פותרים את זה?
אני גם שולחת את התמונה בJSON
איך אני שולחת תמונה כקובץ בANGULAR?
 

אולי מעניין אותך גם...

הפרק היומי

הפרק היומי! כל ערב פרק תהילים חדש. הצטרפו אלינו לקריאת תהילים משותפת!


תהילים פרק קלז

א עַל נַהֲרוֹת בָּבֶל שָׁם יָשַׁבְנוּ גַּם בָּכִינוּ בְּזָכְרֵנוּ אֶת צִיּוֹן:ב עַל עֲרָבִים בְּתוֹכָהּ תָּלִינוּ כִּנֹּרוֹתֵינוּ:ג כִּי שָׁם שְׁאֵלוּנוּ שׁוֹבֵינוּ דִּבְרֵי שִׁיר וְתוֹלָלֵינוּ שִׂמְחָה שִׁירוּ לָנוּ מִשִּׁיר צִיּוֹן:ד אֵיךְ נָשִׁיר אֶת שִׁיר יְהוָה עַל אַדְמַת נֵכָר:ה אִם אֶשְׁכָּחֵךְ יְרוּשָׁלִָם תִּשְׁכַּח יְמִינִי:ו תִּדְבַּק לְשׁוֹנִי לְחִכִּי אִם לֹא אֶזְכְּרֵכִי אִם לֹא אַעֲלֶה אֶת יְרוּשָׁלִַם עַל רֹאשׁ שִׂמְחָתִי:ז זְכֹר יְהוָה לִבְנֵי אֱדוֹם אֵת יוֹם יְרוּשָׁלִָם הָאֹמְרִים עָרוּ עָרוּ עַד הַיְסוֹד בָּהּ:ח בַּת בָּבֶל הַשְּׁדוּדָה אַשְׁרֵי שֶׁיְשַׁלֶּם לָךְ אֶת גְּמוּלֵךְ שֶׁגָּמַלְתְּ לָנוּ:ט אַשְׁרֵי שֶׁיֹּאחֵז וְנִפֵּץ אֶת עֹלָלַיִךְ אֶל הַסָּלַע:
נקרא  10  פעמים

לוח מודעות

למעלה