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

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

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

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

מתוזמן נעוץ נעול הועבר תכנות
25 פוסטים 8 כותבים 696 צפיות
  • מהישן לחדש
  • מהחדש לישן
  • הכי הרבה הצבעות
התחברו כדי לפרסם תגובה
נושא זה נמחק. רק משתמשים עם הרשאות מתאימות יוכלו לצפות בו.
  • yossizY מנותק
    yossizY מנותק
    yossiz
    השיב לayali ב נערך לאחרונה על ידי
    #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
      • A מנותק
        A מנותק
        ayali
        השיב לyossiz ב נערך לאחרונה על ידי
        #15

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

        תגובה 1 תגובה אחרונה
        1
        • A מנותק
          A מנותק
          ayali
          השיב לyossiz ב נערך לאחרונה על ידי
          #16

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

          תגובה 1 תגובה אחרונה
          3
          • ב מנותק
            ב מנותק
            ב.ל
            השיב לyossiz ב נערך לאחרונה על ידי
            #17

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

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

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

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

            yossizY תגובה 1 תגובה אחרונה
            1
            • yossizY מנותק
              yossizY מנותק
              yossiz
              השיב לב.ל ב נערך לאחרונה על ידי yossiz
              #18

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

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

              ב תגובה 1 תגובה אחרונה
              0
              • ב מנותק
                ב מנותק
                ב.ל
                השיב לyossiz ב נערך לאחרונה על ידי
                #19

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

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

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

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

                yossizY תגובה 1 תגובה אחרונה
                1
                • 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
                  • רפאלר מנותק
                    רפאלר מנותק
                    רפאל
                    השיב לyossiz ב נערך לאחרונה על ידי
                    #21
                    פוסט זה נמחק!
                    תגובה 1 תגובה אחרונה
                    0
                    • ב מנותק
                      ב מנותק
                      ב.ל
                      השיב לyossiz ב נערך לאחרונה על ידי
                      #22

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

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

                      yossizY תגובה 1 תגובה אחרונה
                      3
                      • yossizY מנותק
                        yossizY מנותק
                        yossiz
                        השיב לב.ל ב נערך לאחרונה על ידי
                        #23

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

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

                        מוטי אורןמ תגובה 1 תגובה אחרונה
                        2
                        • מוטי אורןמ מנותק
                          מוטי אורןמ מנותק
                          מוטי אורן
                          השיב ל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
                          • yossizY מנותק
                            yossizY מנותק
                            yossiz
                            השיב למוטי אורן ב נערך לאחרונה על ידי
                            #25

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

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

                            תגובה 1 תגובה אחרונה
                            4
                            • dovidD dovid העביר נושא זה מ-תכנות ב-

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

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

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