מדריך CSHTML

מדריך CSHTML – עבודה עם קבצים: מחיקת קבצים

‏ • John Bryce

כדי למחוק את הקבצים מאתר האינטרנט שלך, אתה יכול להשתמש בפונקציה File.Delete. הדוגמא הבאה מדגימה כיצד למחוק תמונה (קובץ .jpg) מתוך תיקיית images אם יודעים את שם הקובץ.

  1. בתוך WebMatrix – ניצור תיקיית משנה בשם images.
    image
  2. נעתיק מספר קבצי .jpg לתוך התיקייה
  3. בתיקייה הראשית, ניצור דף חדש בשם FileDelete.cshtml
  4. נוסיף בדף את הקוד הבא:
    @{
        bool deleteSuccess = false;
        var photoName = "";
        if (IsPost) 
        {
            photoName = Request["photoFileName"] + ".jpg";
            var fullPath = Server.MapPath("~/images/" + photoName);
    
            if (File.Exists(fullPath))
            {
                    File.Delete(fullPath);
                    deleteSuccess = true;
            }
        }
    }
        
    <!DOCTYPE html>
    <html>
      <head>
        <title>Delete a Photo</title>
      </head>
      <body>
        <h1>Delete a Photo from the Site</h1>
        <form name="deletePhoto" action="" method="post">
          <p>File name of image to delete (without .jpg extension):
          <input name="photoFileName" type="text" value="" />
          </p>
          <p><input type="submit" value="Submit" </p>
        </form>
        @if(deleteSuccess) 
        {
            <p>
            @photoName deleted!
            </p>
        }
      </body>
    </html>

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

    הקוד קורא את שם הקובץ שהמשתמש מזין ואז בונה את הנתיב המלא. כדי ליצור את הנתיב, הקוד משתמש בנתיב האתר הנוכחי (שמוחזר ע"י Server.MapPath), שם תיקיית התמונות, שם התמונה שהמשתמש סיפק, וסיונת "Jpg" (כמחרוזת). כדי למחוק את הקובץ, הקוד קורא לשיטת File.Delete ומעביר את אותו הנתיב המלא שכרגע יצרנו. בסוף, הקוד מציג הודעת אישור כי הקובץ אכן נמחק.

  5. הצג את העמוד בדפדפן
    image
  6. הזן את שם הקובץ למחיקה ולאחר מכן לחץ על שלח. אם הקובץ אכן נמחק, השם של הקובץ יוצג בתחתית הדף.

תגיות: ,

ליאור זמיר

כיום אני ה- Webmaster של תוכנית החדשנות של HPE Software.לפני כן, הייתי מנהל תחום Webmaster ומרצה בכיר בג'ון-ברייס (במשך 9 שנים) בקורסים לפיתוח ותיכנות באמצעות Microsoft .NET, מולטימדיה, בניית אתרי אינטרנט ואינטראנט. פיתוח הדרכה ומתן ייעוץ טכנולוגי.

תגובות בפייסבוק