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

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

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

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

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

    @ayali אי אפשר ככה. תעזרו לי לעזור לכם.
    אני חייב לראות קוד כלשהו כדי להתחיל לעזור.

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

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

      @yossiz
      middleware.js

      api.js

      תודה רבה על הרצון והנכונות!

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

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

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

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