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

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

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

פתיחת אלמנט אינפוט פייל ע"י לחיצה על דיב שממוקם מעליו, אפשרי?

מתוזמן נעוץ נעול הועבר תכנות
33 פוסטים 4 כותבים 2.1k צפיות 3 עוקבים
  • מהישן לחדש
  • מהחדש לישן
  • הכי הרבה הצבעות
תגובה
  • תגובה כנושא
התחברו כדי לפרסם תגובה
נושא זה נמחק. רק משתמשים עם הרשאות מתאימות יוכלו לצפות בו.
  • dovidD dovid

    בקוד שלך היה console.log(data)
    ביקשתי את הפלט שלו.

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

    @dovid

    FormData {}__proto__: FormData
    
    תגובה 1 תגובה אחרונה
    0
    • א מנותק
      א מנותק
      אהרן
      כתב ב נערך לאחרונה על ידי
      #18

      כשאני מדפיס console.log(vm.uploadData.fileObj) זה גם נראה בסדר

      File(110866) {name: "חדשושן.docx", lastModified: 1520200202739, lastModifiedDate: Sun Mar 04 2018 23:50:02 GMT+0200 (שעון רגיל ירושלים), webkitRelativePath: "", size: 110866, …}
      lastModified
      :
      1520200202739
      lastModifiedDate
      :
      Sun Mar 04 2018 23:50:02 GMT+0200 (שעון רגיל ירושלים) {}
      name
      :
      "חדשושן.docx"
      size
      :
      110866
      type
      :
      "application/vnd.openxmlformats-officedocument.wordprocessingml.document"
      webkitRelativePath
      :
      ""
      __proto__
      :
      File
      
      תגובה 1 תגובה אחרונה
      0
      • א מנותק
        א מנותק
        אהרן
        כתב ב נערך לאחרונה על ידי
        #19

        עד עכשיו השתמשתי ב

        app.use(express.bodyParser());
        

        אבל עכשיו זה מחזיר שגיאה

        Error: invalid json
        

        אז החלפתי לזה:

        var bodyParser = require('body-parser');
        app.use(bodyParser.json());
        app.use(bodyParser.urlencoded({extended: true}));
        

        וגם פה קבלתי שגיאה

        PayloadTooLargeError: request entity too large
        

        אין לי כבר כח

        תגובה 1 תגובה אחרונה
        0
        • zvizviZ מנותק
          zvizviZ מנותק
          zvizvi
          כתב ב נערך לאחרונה על ידי
          #20

          @אהרן אמר בפתיחת אלמנט אינפוט פייל ע"י לחיצה על דיב שממוקם מעליו, אפשרי?:

          request entity too large

          המלצה שלי להשתמש בmulter עבור העלאת קבצים.

          https://github.com/expressjs/multer

          https://zvizvi.xyz

          תגובה 1 תגובה אחרונה
          2
          • dovidD מנותק
            dovidD מנותק
            dovid
            ניהול
            כתב ב נערך לאחרונה על ידי dovid
            #21

            הconsole בצד הלקוח אמר את דברו. אם הFormData מקבל File תקין, אז "האשמה" מתגלגלת לפתחו של צד השרת. אכן, חיפוש בגוגל של expressjs receive input file מעלה שזה לא עובד בדרך הזו.
            נסה את המלצתו של @zvizvi.

            • מנטור אישי בתכנות והמסתעף – להתקדם לשלב הבא!
            • בכל נושא אפשר ליצור קשר dovid@tchumim.com
            א תגובה 1 תגובה אחרונה
            1
            • dovidD dovid

              הconsole בצד הלקוח אמר את דברו. אם הFormData מקבל File תקין, אז "האשמה" מתגלגלת לפתחו של צד השרת. אכן, חיפוש בגוגל של expressjs receive input file מעלה שזה לא עובד בדרך הזו.
              נסה את המלצתו של @zvizvi.

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

              @dovid אמר בפתיחת אלמנט אינפוט פייל ע"י לחיצה על דיב שממוקם מעליו, אפשרי?:

              נסה את המלצתו של @zvizvi.

              body מגיע אנדיפיינד
              אוף!!

              dovidD תגובה 1 תגובה אחרונה
              0
              • א אהרן

                @dovid אמר בפתיחת אלמנט אינפוט פייל ע"י לחיצה על דיב שממוקם מעליו, אפשרי?:

                נסה את המלצתו של @zvizvi.

                body מגיע אנדיפיינד
                אוף!!

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

                @אהרן אמר בפתיחת אלמנט אינפוט פייל ע"י לחיצה על דיב שממוקם מעליו, אפשרי?:

                @dovid אמר בפתיחת אלמנט אינפוט פייל ע"י לחיצה על דיב שממוקם מעליו, אפשרי?:

                נסה את המלצתו של @zvizvi.

                body מגיע אנדיפיינד
                אוף!!

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

                • מנטור אישי בתכנות והמסתעף – להתקדם לשלב הבא!
                • בכל נושא אפשר ליצור קשר dovid@tchumim.com
                א clickoneC 2 תגובות תגובה אחרונה
                2
                • dovidD dovid

                  @אהרן אמר בפתיחת אלמנט אינפוט פייל ע"י לחיצה על דיב שממוקם מעליו, אפשרי?:

                  @dovid אמר בפתיחת אלמנט אינפוט פייל ע"י לחיצה על דיב שממוקם מעליו, אפשרי?:

                  נסה את המלצתו של @zvizvi.

                  body מגיע אנדיפיינד
                  אוף!!

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

                  א מנותק
                  א מנותק
                  אהרן
                  כתב ב נערך לאחרונה על ידי אהרן
                  #24
                  				<textarea drop-zone upload-data="vm.uploadData" ng-model="vm.uploadData.text"
                  				class="one"
                  				placeholder="גררו לכאן את הקובץ הרצוי,&#10או הדביקו כאן את הטקסט"
                  				/>
                  
                  				<button ng-click="vm.createNewProject()" >
                  					צור פרויקט
                  					<span ng-if="vm.uploadData.projectName">"{{vm.uploadData.projectName}}"</span>
                  				</button>
                  
                      .directive('dropZone', ['$http', function($http){
                      	return {
                  		    scope: {
                  		    	uploadData: '=',
                  		    },
                  		    link: function (scope, element, attrs) {
                  	
                  				element.bind("drop", function (e) {
                  					e.stopPropagation();
                  					e.preventDefault();
                  					let file = e.dataTransfer.files[0];
                  					
                  					if (file.name.indexOf('.txt') != -1)
                  						scope.uploadData.type = 'txt';
                  					if (file.name.indexOf('.docx') != -1)
                  						scope.uploadData.type = 'docx';
                  						
                  					if( !scope.uploadData.type )
                  						return alert('לא קובץ docx / txt');
                  						
                  					if( scope.uploadData.text )
                  						return alert('יש כבר טקסט')
                  
                  						
                  					scope.uploadData.fileObj = file;
                  				});
                  				
                  				element.bind("dragover", function (e) {
                  					e.stopPropagation();
                  					e.preventDefault();
                  					e.dataTransfer.dropEffect = 'copy';
                  					//console.log('dragover')
                  					//console.log(e)
                  				});
                  			}
                  		};
                  	}]);
                  
                  
                  	function createNewProject () {
                  			
                  		if( vm.uploadData.text )
                  			vm.uploadData.type = 'text'
                  			
                  		if( !vm.uploadData.type )
                  			return alert('אין תוכן לפרק')
                  
                  		if( !vm.uploadData.projectName )
                  			return alert('אנא הגדר את שם הפרויקט')
                  			
                  		let upData = false;
                  		upData = new FormData();
                  		upData.append('file', vm.uploadData.fileObj);
                  		upData.append('file2', 'ddd');
                  		console.log(upData)
                  		console.log(vm.uploadData.fileObj)
                  		for(let t of upData) {console.log(t)}
                  
                  		$http({
                  			method: 'POST',
                  			url: 'tchumim/ajax/createNewProject',
                  			data: upData,
                  			/*headers: { 'Content-Type': undefined}
                  			headers: { 'Content-Type': 'application/json; charset=UTF-8' },*/
                  		}).then( function( res ){
                  		}, function(errRes){
                  			serverError();
                  		});
                  	}
                  })
                  
                  תגובה 1 תגובה אחרונה
                  0
                  • א מנותק
                    א מנותק
                    אהרן
                    כתב ב נערך לאחרונה על ידי
                    #25

                    צד שרת

                        const express = require('express');
                        const app = express();
                        let multer  = require('multer')
                        let upload = multer({ dest: 'uploads/' })
                    
                        app.post('/tchumim/ajax/createNewProject', upload.single('file'), createNewProject);
                        
                        function createNewProject( req , res ) {
                        'use strict';
                        console.log('createNewProject')
                            
                            let body = req.body;
                            console.dir( body )
                            console.dir( req.file )
                    
                    
                    תגובה 1 תגובה אחרונה
                    0
                    • dovidD מנותק
                      dovidD מנותק
                      dovid
                      ניהול
                      כתב ב נערך לאחרונה על ידי
                      #26

                      הקוד (צד שרת) פולט שגיאה כל שהיא? לפי התיעוד שלהם זה אמור לעבוד לך.
                      העובדה שכתבת { dest: 'uploads/' } גורמת לnulter להניח שישנה כזו תיקיה ולנסות לשמור שם את הקובץ פיזית. ייתכן שאן אין תיקיה הוא יוצר אותה, ייתכן שהוא מתעלם וגם... ייתכן

                      (נ.ב. הקוד שלך לא הכי נעים לקריאה. ההזחות, ונקודה פסיק לא עקביים. ומה הסיבה שאתה תוקע את 'use strict' באמצע פונקציות? אתה לא משתמש בIDE כל שהוא?).

                      • מנטור אישי בתכנות והמסתעף – להתקדם לשלב הבא!
                      • בכל נושא אפשר ליצור קשר dovid@tchumim.com
                      א תגובה 1 תגובה אחרונה
                      0
                      • dovidD dovid

                        הקוד (צד שרת) פולט שגיאה כל שהיא? לפי התיעוד שלהם זה אמור לעבוד לך.
                        העובדה שכתבת { dest: 'uploads/' } גורמת לnulter להניח שישנה כזו תיקיה ולנסות לשמור שם את הקובץ פיזית. ייתכן שאן אין תיקיה הוא יוצר אותה, ייתכן שהוא מתעלם וגם... ייתכן

                        (נ.ב. הקוד שלך לא הכי נעים לקריאה. ההזחות, ונקודה פסיק לא עקביים. ומה הסיבה שאתה תוקע את 'use strict' באמצע פונקציות? אתה לא משתמש בIDE כל שהוא?).

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

                        @dovid אמר בפתיחת אלמנט אינפוט פייל ע"י לחיצה על דיב שממוקם מעליו, אפשרי?:

                        הקוד (צד שרת) פולט שגיאה כל שהיא? לפי התיעוד שלהם זה אמור לעבוד לך.

                        שום שגיאה
                        הפלט
                        createNewProject
                        undefined
                        undefined

                        @dovid אמר בפתיחת אלמנט אינפוט פייל ע"י לחיצה על דיב שממוקם מעליו, אפשרי?:

                        (נ.ב. הקוד שלך לא הכי נעים לקריאה

                        ראית פה מישהו שמרט את שערות ראשו ונשאר יפה? 🙂
                        בקשר להזחות, אולי בגלל שזה חלקים מפונציות אחרות?
                        ובנוגע לנקודה פסיק, דווקא אני מנסה להקפיד ע"ז, חוץ מבקונסול שם אני לא שם, שתהיה לי התראה ואמחוק.

                        תגובה 1 תגובה אחרונה
                        0
                        • א מנותק
                          א מנותק
                          אהרן
                          כתב ב נערך לאחרונה על ידי
                          #28

                          משהו נוסף שתקע אותי, שהקוד הזה
                          app.use(express.bodyParser());
                          הוציא שגיאה שהקלט לא ג'ייסון (הוא לא מזהה א"ז לבד?? ומה אם צריך א"ז רק בחלק מהכתובות??)

                          תגובה 1 תגובה אחרונה
                          0
                          • א מנותק
                            א מנותק
                            אהרן
                            כתב ב נערך לאחרונה על ידי
                            #29

                            משהו מתחיל לזוז

                            החזרתי את

                            var bodyParser = require('body-parser');
                            // parse application/json
                            app.use(bodyParser.json({ limit: '50mb' }));
                            // parse application/x-www-form-urlencoded
                            app.use(bodyParser.urlencoded({ limit: '50mb', extended: true }));
                            

                            אבל ראיתי בסטוק שצריך להפוך את הסדר בין השורה השניה לשלישית (פה זה כבר בסדר הנכון)
                            והוא אכן פירק יפה וה-body אכן מכיל תוכן כולל את הקובץ, מנסה להפוך א"ז למשהו מובן, וגם לבדוק איך זה עובד במקביל לmulter.

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

                              משהו מתחיל לזוז

                              החזרתי את

                              var bodyParser = require('body-parser');
                              // parse application/json
                              app.use(bodyParser.json({ limit: '50mb' }));
                              // parse application/x-www-form-urlencoded
                              app.use(bodyParser.urlencoded({ limit: '50mb', extended: true }));
                              

                              אבל ראיתי בסטוק שצריך להפוך את הסדר בין השורה השניה לשלישית (פה זה כבר בסדר הנכון)
                              והוא אכן פירק יפה וה-body אכן מכיל תוכן כולל את הקובץ, מנסה להפוך א"ז למשהו מובן, וגם לבדוק איך זה עובד במקביל לmulter.

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

                              המולטר אכן לא עושה כלום
                              בבאדי יש מלא מידע בסטרינג ארוך, א"א או קשה לפיענוח.

                              { '------WebKitFormBoundaryhsVAP9BjmAAZD3na\r\nContent-Disposition: form-data; name': '"file"; filename="aaaa.txt"\r\nContent-Type: text/plain\r\n\r\naharon\r\n------WebKitFormBoundaryhsVAP9BjmAAZD3na\r\nContent-Disposition: form-data; name="file2"\r\n\r\nddd\r\n------WebKitFormBoundaryhsVAP9BjmAAZD3na--\r\n' }
                              
                              א תגובה 1 תגובה אחרונה
                              0
                              • א אהרן

                                המולטר אכן לא עושה כלום
                                בבאדי יש מלא מידע בסטרינג ארוך, א"א או קשה לפיענוח.

                                { '------WebKitFormBoundaryhsVAP9BjmAAZD3na\r\nContent-Disposition: form-data; name': '"file"; filename="aaaa.txt"\r\nContent-Type: text/plain\r\n\r\naharon\r\n------WebKitFormBoundaryhsVAP9BjmAAZD3na\r\nContent-Disposition: form-data; name="file2"\r\n\r\nddd\r\n------WebKitFormBoundaryhsVAP9BjmAAZD3na--\r\n' }
                                
                                א מנותק
                                א מנותק
                                אהרן
                                כתב ב נערך לאחרונה על ידי
                                #31

                                עובד!!!!!! אוהההההה 🙂

                                צריך הידר headers: { 'Content-Type': undefined}
                                אחרת הוא מניח שזה בינארי וצועק (אם הבנתי נכון).

                                תגובה 1 תגובה אחרונה
                                0
                                • dovidD dovid

                                  @אהרן אמר בפתיחת אלמנט אינפוט פייל ע"י לחיצה על דיב שממוקם מעליו, אפשרי?:

                                  @dovid אמר בפתיחת אלמנט אינפוט פייל ע"י לחיצה על דיב שממוקם מעליו, אפשרי?:

                                  נסה את המלצתו של @zvizvi.

                                  body מגיע אנדיפיינד
                                  אוף!!

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

                                  clickoneC מנותק
                                  clickoneC מנותק
                                  clickone
                                  כתב ב נערך לאחרונה על ידי
                                  #32

                                  @dovid אמר בפתיחת אלמנט אינפוט פייל ע"י לחיצה על דיב שממוקם מעליו, אפשרי?:

                                  רק במקרוסופט או אנגולר יש כזו אידליה. בפרימוורקים כמו אקספרס אתה חייב לקחת שליטה על כל דבר שזז.

                                  תיזהר 🙂 @magicode כאן 🙂

                                  אין טסט כמו פרודקשן.

                                  המייל שלי urivpn@gmail.com

                                  א תגובה 1 תגובה אחרונה
                                  0
                                  • clickoneC clickone

                                    @dovid אמר בפתיחת אלמנט אינפוט פייל ע"י לחיצה על דיב שממוקם מעליו, אפשרי?:

                                    רק במקרוסופט או אנגולר יש כזו אידליה. בפרימוורקים כמו אקספרס אתה חייב לקחת שליטה על כל דבר שזז.

                                    תיזהר 🙂 @magicode כאן 🙂

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

                                    @clickone אמר בפתיחת אלמנט אינפוט פייל ע"י לחיצה על דיב שממוקם מעליו, אפשרי?:

                                    תיזהר @magicode כאן

                                    לא נראה.

                                    תגובה 1 תגובה אחרונה
                                    0
                                    תגובה
                                    • תגובה כנושא
                                    התחברו כדי לפרסם תגובה
                                    • מהישן לחדש
                                    • מהחדש לישן
                                    • הכי הרבה הצבעות


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

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

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