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

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

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

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

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

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

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