גרשיים נוספים לבד בשליחת קובץ מ JS לשרת
-
עשיתי אצלי קוד JS שפותח חלון להעלאת קובץ ע"י לחיצה על לחצן באתר ושולח את זה לשרת
למעשה כשאני מקבל את זה בשרת כל הגרשיים שהיו נכפלו
למשל אם היה כתובהר"ר
כתוב עכשיוהר""ר
בשרת עשיתי שמירה מיד של הקובץ שהתקבל ללא שום עיבוד וכדומה ואפ"ה זה נהיה ככה, כך שלכאורה זה קשור ל JSהנה הקוד הנוגע לעניינינו
html<button id='uploadButton' class='menuButton'>ייבוא מאקסל</button> <input type='file' id='fileInput' style='display: none'>
js
const uploadButton = document.getElementById('uploadButton'); const fileInput = document.getElementById('fileInput'); uploadButton.addEventListener('click', () => { fileInput.click(); }); fileInput.addEventListener('change', () => { const file = fileInput.files[0]; if (file) { const formData = new FormData(); formData.append('file', file); fetch('api.php?action=importalfon2', { method: 'POST', body: formData })
באקסל יש הרבה נתונים רגישים ולכן לא העליתי את זה
אם זה יעזור אעלה את זה מחר בטשטוש כמובןתודה לעזרה
-
@ששא כתב בגרשיים נוספים לבד בשליחת קובץ מ JS לשרת:
בשרת עשיתי שמירה מיד של הקובץ שהתקבל ללא שום עיבוד וכדומה ואפ"ה זה נהיה ככה, כך שלכאורה זה קשור ל JS
לפי ה"לכאורה" לא הייתה אמורה להיות בעיה ולא היית אמור לשאול, אלא שיש כן בעיה. וממילא צריך לקחת את "לכאורה" בעירבון מוגבל, ולהציע בשאלה גם את הקוד של ה"שמירה מיד ללא עיבוד".
באקסל יש הרבה נתונים רגישים ולכן לא העליתי את זה
כלומר, לא בדקת על שום קובץ אחר מלבד קובץ מסויים.
אחד הדברים שעושים כשיש בעיה זו בידוד הבעיה ושלילת גורמים: צור קובץ טקסט מינימלי, שכתוב בו רק שליט"א, ותעלה אותו ותראה אם הבעיה קורית. אם כן, הרווחת שאתה לא מחוייב לחשוף קובץ רגיש... אם לא, זה מעלה חשד כבד על הקובץ שלך. מדובר בxls או xlsx, או בcsv?הארה דומה עולה לי למקרא המילים "הקוד הרלוונטי" - משמע יש עוד קוד אבל לכאורה הוא לא נוגע לעניין. הכי טוב ובטוח ליצור קובץ טסט זריז שמכיל את הקוד הרלוונטי, והיה אם הבעיה השתחזרה גם בטסט, אז זה הקוד המלא ולא צריך להביא רק קוד רלוונטי.
-
@ששא כתב בגרשיים נוספים לבד בשליחת קובץ מ JS לשרת:
בשרת עשיתי שמירה מיד של הקובץ שהתקבל ללא שום עיבוד וכדומה ואפ"ה זה נהיה ככה, כך שלכאורה זה קשור ל JS
מכיון שהבעיה בתוכן הקובץ, אפשר להניח די בודאות שהבעיה לא בקוד שהבאת כי קוד של העלאת קובץ לא משנה את תוכן הקובץ
@dovid כתב בגרשיים נוספים לבד בשליחת קובץ מ JS לשרת:
מדובר בxls או xlsx, או בcsv
ההשערה שלי שמדובר בקובץ CSV. הדרך לעשות escaping של גרשיים בערכים מוקפים בגרשיים הוא להכפיל את הגרשיים. (ע"ע)
-
@dovid כתב בגרשיים נוספים לבד בשליחת קובץ מ JS לשרת:
הארה דומה עולה לי למקרא המילים "הקוד הרלוונטי" - משמע יש עוד קוד אבל לכאורה הוא לא נוגע לעניין.
זה כל הפונקצייה של הייבוא קובץ
זה הקוד ב PHP שמקבל את הקובץ ושומר אותו
$fileTmpPath = $_FILES['file']['tmp_name']; $fileContent = file_get_contents($fileTmpPath);
@dovid כתב בגרשיים נוספים לבד בשליחת קובץ מ JS לשרת:
מדובר בxls או xlsx, או בcsv?
CSV
-
-
אתה יכול פשוט בשרת להחליף את כל הגרשיים הכפולים לגרשיים אחד
-
@ivrtikshoret כתב בגרשיים נוספים לבד בשליחת קובץ מ JS לשרת:
אתה יכול פשוט בשרת להחליף את כל הגרשיים הכפולים לגרשיים אחד
נכון
אבל הבעיה היא שהוא גם הוסיף כמה פעמים-לא תמיד בתחילת מילה או בסוף מילה וכדומה -
מה הכוונה תוכל להביא כמה דוגמאות?
-
@yossiz כתב בגרשיים נוספים לבד בשליחת קובץ מ JS לשרת:
הדרך לעשות escaping של גרשיים בערכים מוקפים בגרשיים הוא להכפיל את הגרשיים. (ע"ע)
@ששא תקרא מה שכתבתי למעלה (קישרתי גם קטע מהמכלול). זה תקין לגמרי, הגרשיים אמורים להיות כפולים. ככה זה פורמט CSV (ספרייה שיודעת לקרוא קבצי CSV אמורה לדעת להוריד את הגרשיים המיותרים)