דילוג לתוכן
  • דף הבית
  • קטגוריות
  • פוסטים אחרונים
  • משתמשים
  • חיפוש
  • חוקי הפורום
כיווץ
תחומים

תחומים - פורום חרדי מקצועי

💡 רוצה לזכור קריאת שמע בזמן? לחץ כאן!
  1. דף הבית
  2. תכנות
  3. עזרה בהעלאת קבצים לשרת ב node js

עזרה בהעלאת קבצים לשרת ב node js

מתוזמן נעוץ נעול הועבר תכנות
25 פוסטים 8 כותבים 696 צפיות 7 עוקבים
  • מהישן לחדש
  • מהחדש לישן
  • הכי הרבה הצבעות
תגובה
  • תגובה כנושא
התחברו כדי לפרסם תגובה
נושא זה נמחק. רק משתמשים עם הרשאות מתאימות יוכלו לצפות בו.
  • yossizY yossiz

    כמה נקודות שצריך לשים לב להם:
    א) multer הוא middleware. ולכן זה לא פוקציה שאתה קורא בעצמך. אלא זה שלב עיבוד שאתה מכניס לשרשרת המטפלים/מעבדים בבקשה. אקספרס כבר ידאוג לקרוא לו בשלב המתאים. לכן הורדתי את הקריאה הידנית לפונקציה ובמקום זה הוספתי אותו בקובץ routes.js.
    ב) באקספרס זה עובד ככה, שה-body בברירת מחדל נשאר ריק (או בעצם לא קיימת - undefined), וזה התפקיד של ה-middlewares לעבד את המידע ה"לא מבושלת" שה-body מכיל, ולהכניס את התוצאה ה"מבושלת" ל-req.body.
    ה-middleware של multer לוקח את הקובץ ומכניס אותו ל-req.file - לא ל-req.body. רק אם יש שדות נוספות ב-body הם יוכנסו ל-req.body. אחרת ה-body נשאר ריק.
    ג) כמו שאמרתי מקודם, שיניתי את המינימום כדי שהפרוייקט יעבוד. אני לא בטוח שעכשיו הכל מסודר בצורה מיטבית. אבל "תן ולחכם ויחכם עוד".

    A מנותק
    A מנותק
    ayali
    כתב ב נערך לאחרונה על ידי
    #15

    @yossiz תודה רבה רבה
    עכשיו אני יתחיל לעבוד מקוה שהכל יסתדר לי

    תגובה 1 תגובה אחרונה
    1
    • yossizY yossiz

      כמה נקודות שצריך לשים לב להם:
      א) multer הוא middleware. ולכן זה לא פוקציה שאתה קורא בעצמך. אלא זה שלב עיבוד שאתה מכניס לשרשרת המטפלים/מעבדים בבקשה. אקספרס כבר ידאוג לקרוא לו בשלב המתאים. לכן הורדתי את הקריאה הידנית לפונקציה ובמקום זה הוספתי אותו בקובץ routes.js.
      ב) באקספרס זה עובד ככה, שה-body בברירת מחדל נשאר ריק (או בעצם לא קיימת - undefined), וזה התפקיד של ה-middlewares לעבד את המידע ה"לא מבושלת" שה-body מכיל, ולהכניס את התוצאה ה"מבושלת" ל-req.body.
      ה-middleware של multer לוקח את הקובץ ומכניס אותו ל-req.file - לא ל-req.body. רק אם יש שדות נוספות ב-body הם יוכנסו ל-req.body. אחרת ה-body נשאר ריק.
      ג) כמו שאמרתי מקודם, שיניתי את המינימום כדי שהפרוייקט יעבוד. אני לא בטוח שעכשיו הכל מסודר בצורה מיטבית. אבל "תן ולחכם ויחכם עוד".

      A מנותק
      A מנותק
      ayali
      כתב ב נערך לאחרונה על ידי
      #16

      @yossiz זה עובד לי אני לא מאמינה כמעט התייאשתי....
      שוב תודה רבה!

      תגובה 1 תגובה אחרונה
      3
      • yossizY yossiz

        כמה נקודות שצריך לשים לב להם:
        א) multer הוא middleware. ולכן זה לא פוקציה שאתה קורא בעצמך. אלא זה שלב עיבוד שאתה מכניס לשרשרת המטפלים/מעבדים בבקשה. אקספרס כבר ידאוג לקרוא לו בשלב המתאים. לכן הורדתי את הקריאה הידנית לפונקציה ובמקום זה הוספתי אותו בקובץ routes.js.
        ב) באקספרס זה עובד ככה, שה-body בברירת מחדל נשאר ריק (או בעצם לא קיימת - undefined), וזה התפקיד של ה-middlewares לעבד את המידע ה"לא מבושלת" שה-body מכיל, ולהכניס את התוצאה ה"מבושלת" ל-req.body.
        ה-middleware של multer לוקח את הקובץ ומכניס אותו ל-req.file - לא ל-req.body. רק אם יש שדות נוספות ב-body הם יוכנסו ל-req.body. אחרת ה-body נשאר ריק.
        ג) כמו שאמרתי מקודם, שיניתי את המינימום כדי שהפרוייקט יעבוד. אני לא בטוח שעכשיו הכל מסודר בצורה מיטבית. אבל "תן ולחכם ויחכם עוד".

        ב מנותק
        ב מנותק
        ב.ל
        כתב ב נערך לאחרונה על ידי
        #17

        @yossiz אמר בעזרה בהעלאת קבצים לשרת ב node js:

        באקספרס זה עובד ככה, שה-body בברירת מחדל נשאר ריק (או בעצם לא קיימת - undefined)

        רק אם זה נשלח כ form-data.

        ליצירת קשר - baruchlamdan@gmail.com

        yossizY תגובה 1 תגובה אחרונה
        1
        • ב ב.ל

          @yossiz אמר בעזרה בהעלאת קבצים לשרת ב node js:

          באקספרס זה עובד ככה, שה-body בברירת מחדל נשאר ריק (או בעצם לא קיימת - undefined)

          רק אם זה נשלח כ form-data.

          yossizY מנותק
          yossizY מנותק
          yossiz
          כתב ב נערך לאחרונה על ידי yossiz
          #18

          @ב-ל אתה שואל או קובע?
          (נראה לי שאקפרס לא מפרסר שום body ישר מהקופסה. צריך להוסיף middleware של bodyparser)

          📧 יוסי@מייל.קום | 🌎 בלוג | ☕ קפה

          ב תגובה 1 תגובה אחרונה
          0
          • yossizY yossiz

            @ב-ל אתה שואל או קובע?
            (נראה לי שאקפרס לא מפרסר שום body ישר מהקופסה. צריך להוסיף middleware של bodyparser)

            ב מנותק
            ב מנותק
            ב.ל
            כתב ב נערך לאחרונה על ידי
            #19

            @yossiz אמר בעזרה בהעלאת קבצים לשרת ב node js:

            (נראה לי שאקפרס לא מפרסר שום body ישר מהקופסה. צריך להוסיף middleware של bodyparser)

            כיום זה מובנה באקספרס

            ליצירת קשר - baruchlamdan@gmail.com

            yossizY תגובה 1 תגובה אחרונה
            1
            • ב ב.ל

              @yossiz אמר בעזרה בהעלאת קבצים לשרת ב node js:

              (נראה לי שאקפרס לא מפרסר שום body ישר מהקופסה. צריך להוסיף middleware של bodyparser)

              כיום זה מובנה באקספרס

              yossizY מנותק
              yossizY מנותק
              yossiz
              כתב ב נערך לאחרונה על ידי yossiz
              #20

              @ב-ל
              התיעוד אומר אחרת

              Contains key-value pairs of data submitted in the request body. By default, it is undefined, and is populated when you use body-parsing middleware such as express.json() or express.urlencoded().

              📧 יוסי@מייל.קום | 🌎 בלוג | ☕ קפה

              רפאלר ב 2 תגובות תגובה אחרונה
              2
              • yossizY yossiz

                @ב-ל
                התיעוד אומר אחרת

                Contains key-value pairs of data submitted in the request body. By default, it is undefined, and is populated when you use body-parsing middleware such as express.json() or express.urlencoded().

                רפאלר מנותק
                רפאלר מנותק
                רפאל
                כתב ב נערך לאחרונה על ידי
                #21
                פוסט זה נמחק!
                תגובה 1 תגובה אחרונה
                0
                • yossizY yossiz

                  @ב-ל
                  התיעוד אומר אחרת

                  Contains key-value pairs of data submitted in the request body. By default, it is undefined, and is populated when you use body-parsing middleware such as express.json() or express.urlencoded().

                  ב מנותק
                  ב מנותק
                  ב.ל
                  כתב ב נערך לאחרונה על ידי
                  #22

                  @yossiz
                  https://stackoverflow.com/questions/66525078/bodyparser-is-deprecated

                  ליצירת קשר - baruchlamdan@gmail.com

                  yossizY תגובה 1 תגובה אחרונה
                  3
                  • ב ב.ל

                    @yossiz
                    https://stackoverflow.com/questions/66525078/bodyparser-is-deprecated

                    yossizY מנותק
                    yossizY מנותק
                    yossiz
                    כתב ב נערך לאחרונה על ידי
                    #23

                    @ב-ל תודה. מעניין א) למה אני לא מקבל אזהרה זו, ב) למה זה לא משתקף בתיעוד שלהם?

                    📧 יוסי@מייל.קום | 🌎 בלוג | ☕ קפה

                    מוטי אורןמ תגובה 1 תגובה אחרונה
                    2
                    • yossizY yossiz

                      @ב-ל תודה. מעניין א) למה אני לא מקבל אזהרה זו, ב) למה זה לא משתקף בתיעוד שלהם?

                      מוטי אורןמ מנותק
                      מוטי אורןמ מנותק
                      מוטי אורן
                      כתב ב נערך לאחרונה על ידי מוטי אורן
                      #24

                      @yossiz זה בדיוק מה שכתוב בתיעוד שלהם.
                      בשביל להבהיר את מה ש @ב-ל כתב, אקספרס עדיין לא מפרסר מהקופסה שום דבר. הדבר היחיד שהשתנה הוא שהמידלוורס של bodyparser מובנים באקספרס, ואין עניין להתקין שום מודול חיצוני בשביל זה. אני מצטט מהתיעוד:

                      req.body

                      Contains key-value pairs of data submitted in the request body. By default, it is undefined, and is populated when you use body-parsing middleware such as express.json() or express.urlencoded().

                      המידלוורס החדשים שנוספו באקספרס 4 הם:

                      app.use(express.json()); // מפרסר application/json
                      app.use(express.urlencoded()); // מפרסר application/x-www-form-urlencoded
                      
                      yossizY תגובה 1 תגובה אחרונה
                      5
                      • מוטי אורןמ מוטי אורן

                        @yossiz זה בדיוק מה שכתוב בתיעוד שלהם.
                        בשביל להבהיר את מה ש @ב-ל כתב, אקספרס עדיין לא מפרסר מהקופסה שום דבר. הדבר היחיד שהשתנה הוא שהמידלוורס של bodyparser מובנים באקספרס, ואין עניין להתקין שום מודול חיצוני בשביל זה. אני מצטט מהתיעוד:

                        req.body

                        Contains key-value pairs of data submitted in the request body. By default, it is undefined, and is populated when you use body-parsing middleware such as express.json() or express.urlencoded().

                        המידלוורס החדשים שנוספו באקספרס 4 הם:

                        app.use(express.json()); // מפרסר application/json
                        app.use(express.urlencoded()); // מפרסר application/x-www-form-urlencoded
                        
                        yossizY מנותק
                        yossizY מנותק
                        yossiz
                        כתב ב נערך לאחרונה על ידי
                        #25

                        @מוטי-אורן תודה רבה 🙂
                        לא שמתי לב למה שאני בעצמי ציטטתי 🙂

                        📧 יוסי@מייל.קום | 🌎 בלוג | ☕ קפה

                        תגובה 1 תגובה אחרונה
                        4
                        • dovidD dovid העביר נושא זה מ-תכנות ב-
                        תגובה
                        • תגובה כנושא
                        התחברו כדי לפרסם תגובה
                        • מהישן לחדש
                        • מהחדש לישן
                        • הכי הרבה הצבעות


                        • 1
                        • 2
                        בא תתחבר לדף היומי!
                        • התחברות

                        • אין לך חשבון עדיין? הרשמה

                        • התחברו או הירשמו כדי לחפש.
                        • פוסט ראשון
                          פוסט אחרון
                        0
                        • דף הבית
                        • קטגוריות
                        • פוסטים אחרונים
                        • משתמשים
                        • חיפוש
                        • חוקי הפורום