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

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

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

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

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

    @ayali האם המשתנה __basedir מוגדרת איפשהו?

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

    @yossiz כן הוא שווה ל__dirname
    יש לי בעיה בקבלת הקובץ
    אני מביאה אותו דרך formData אבל שאני מדפיסה את ה body הוא
    אוביקט ריק

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

      @yossiz כן הוא שווה ל__dirname
      יש לי בעיה בקבלת הקובץ
      אני מביאה אותו דרך formData אבל שאני מדפיסה את ה body הוא
      אוביקט ריק

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

      @ayali לקחתי את הקבצים שהבאת ועשיתי פרוייקט דוגמה שמבוסס עליהם.
      הנה הפרוייקט:
      upload-file-sample.zip

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

      אם יש שאלות, בבקשה!

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

      תגובה 1 תגובה אחרונה
      4
      • yossizY מנותק
        yossizY מנותק
        yossiz
        כתב ב נערך לאחרונה על ידי yossiz
        #14

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

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

        A ב 3 תגובות תגובה אחרונה
        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
                              • דף הבית
                              • קטגוריות
                              • פוסטים אחרונים
                              • משתמשים
                              • חיפוש
                              • חוקי הפורום