FileUpload Control ব্যবহার করে ফাইল আপলোড করা

Microsoft Technologies - এএসপি ডট নেট ওয়েব (ASP.Net WP) ফাইল হ্যান্ডলিং এবং আপলোডিং (File Handling and Uploading) |
213
213

ASP.NET Web Forms এ FileUpload Control ব্যবহার করে আপনি ইউজারের থেকে ফাইল আপলোড করতে পারেন। এই কন্ট্রোলটি ডেভেলপারদের সহজভাবে ফাইলের তথ্য সংগ্রহ এবং সার্ভারে আপলোড করতে সহায়তা করে। এটি HTML File Input Control এর মতো কাজ করে, তবে ASP.NET এর সার্ভার-সাইড ফিচারের সাথে ইন্টিগ্রেটেড।


FileUpload Control এর কাজ

FileUpload Control ব্যবহার করে আপনি ইউজার থেকে ফাইল নির্বাচন করাতে পারেন এবং সেই ফাইলটি সার্ভারে আপলোড করতে পারেন। এই কন্ট্রোলটি ফাইলের নাম, সাইজ, টাইপ ইত্যাদি তথ্য প্রদান করে এবং ফাইলটি সার্ভারে সেভ করতে সাহায্য করে।


FileUpload Control ব্যবহার করার ধাপসমূহ

  1. FileUpload Control এর UI যোগ করা
    প্রথমে আপনার ASP.NET পেজে FileUpload Control যোগ করুন, যেখানে ইউজার ফাইল সিলেক্ট করবে।
  2. Button Control দিয়ে ফাইল আপলোড ট্রিগার করা
    ফাইল আপলোড করার জন্য একটি Button কন্ট্রোল ব্যবহার করতে হবে, যার Click ইভেন্টে ফাইল আপলোড করার কোড থাকবে।
  3. ফাইল আপলোড করার কোড লেখা
    ফাইল আপলোড করার জন্য, ফাইল সিলেক্ট করার পরে FileUpload কন্ট্রোলের HasFile প্রপার্টি চেক করতে হবে এবং তারপর ফাইলটি SaveAs মেথড দিয়ে সার্ভারে সেভ করতে হবে।

উদাহরণ কোড: FileUpload Control ব্যবহার করে ফাইল আপলোড

এখানে একটি সহজ উদাহরণ দেয়া হলো যেখানে FileUpload কন্ট্রোল দিয়ে ইউজারের সিলেক্ট করা ফাইল সার্ভারে আপলোড করা হচ্ছে।

1. ASPX পেজের কোড (UI)

<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="FileUpload.aspx.cs" Inherits="WebApplication1.FileUpload" %>

<!DOCTYPE html>
<html>
<head>
    <title>File Upload Example</title>
</head>
<body>
    <form id="form1" runat="server">
        <div>
            <h2>ফাইল আপলোড করুন</h2>
            <!-- FileUpload Control -->
            <asp:FileUpload id="FileUpload1" runat="server" /><br /><br />

            <!-- Button to trigger file upload -->
            <asp:Button id="UploadButton" runat="server" Text="ফাইল আপলোড করুন" OnClick="UploadButton_Click" /><br /><br />

            <!-- Display message after upload -->
            <asp:Label id="UploadStatus" runat="server" Text="" ForeColor="Green"></asp:Label>
        </div>
    </form>
</body>
</html>

2. Code-Behind (C#) - ফাইল আপলোডের জন্য কোড

using System;
using System.Web.UI;

namespace WebApplication1
{
    public partial class FileUpload : Page
    {
        protected void UploadButton_Click(object sender, EventArgs e)
        {
            // Check if file is selected
            if (FileUpload1.HasFile)
            {
                try
                {
                    // Get the file name and set the path where it will be saved
                    string fileName = FileUpload1.FileName;
                    string savePath = Server.MapPath("~/Uploads/") + fileName;

                    // Save the file to the server
                    FileUpload1.SaveAs(savePath);

                    // Show success message
                    UploadStatus.Text = "ফাইল সফলভাবে আপলোড করা হয়েছে: " + fileName;
                }
                catch (Exception ex)
                {
                    // Show error message
                    UploadStatus.Text = "এটি ছিল একটি ত্রুটি: " + ex.Message;
                    UploadStatus.ForeColor = System.Drawing.Color.Red;
                }
            }
            else
            {
                // Show message if no file selected
                UploadStatus.Text = "অনুগ্রহ করে একটি ফাইল সিলেক্ট করুন।";
                UploadStatus.ForeColor = System.Drawing.Color.Red;
            }
        }
    }
}

কোডের ব্যাখ্যা:

  1. UI - ASPX পেজে FileUpload Control
    • FileUpload1 কন্ট্রোলটি ফাইল নির্বাচন করার জন্য ইউজারের কাছে একটি বক্স তৈরি করে।
    • UploadButton ব্যবহারকারীকে ফাইল আপলোড করার জন্য ক্লিক করার সুযোগ দেয়।
    • UploadStatus একটি লেবেল যা ফাইল আপলোড সফল হলে বা কোনো ত্রুটি হলে ইউজারকে একটি বার্তা দেখায়।
  2. Code-Behind - ফাইল আপলোড কোড
    • FileUpload1.HasFile চেক করে যে ইউজার ফাইল নির্বাচন করেছেন কিনা।
    • যদি ফাইল নির্বাচন করা থাকে, তাহলে FileUpload1.SaveAs ব্যবহার করে ফাইলটি সার্ভারের নির্দিষ্ট ডিরেক্টরিতে সেভ করা হয়। এখানে Server.MapPath("~/Uploads/") ব্যবহার করে ফাইলটি Uploads ফোল্ডারে সেভ করা হচ্ছে।
    • সফলভাবে আপলোড হলে, UploadStatus.Text এ একটি সফল বার্তা দেখানো হয়। ত্রুটি ঘটলে ত্রুটির বার্তা দেখানো হয়।

সার্ভারে ফাইল সংরক্ষণের জন্য প্রয়োজনীয় বিষয়

  • ফোল্ডার অনুমতি: ফাইল সেভ করার জন্য যে ফোল্ডারে ফাইল সেভ করতে চান, তার যথাযথ write permission থাকা প্রয়োজন।
  • FileSize এবং FileType Validation:
    ফাইলের সাইজ এবং টাইপ চেক করার মাধ্যমে শুধুমাত্র নির্দিষ্ট ফাইলগুলোই আপলোড করতে নিশ্চিত করতে হবে, যাতে সিকিউরিটি ঝুঁকি কমে।

ফাইল সাইজ এবং টাইপ ভ্যালিডেশন উদাহরণ

protected void UploadButton_Click(object sender, EventArgs e)
{
    if (FileUpload1.HasFile)
    {
        try
        {
            // Check file size (limit to 5MB)
            if (FileUpload1.PostedFile.ContentLength > 5 * 1024 * 1024)
            {
                UploadStatus.Text = "ফাইল সাইজ 5MB এর বেশি হতে পারে না।";
                UploadStatus.ForeColor = System.Drawing.Color.Red;
                return;
            }

            // Check file extension (allow only .jpg, .png, .pdf)
            string fileExtension = System.IO.Path.GetExtension(FileUpload1.FileName).ToLower();
            if (fileExtension != ".jpg" && fileExtension != ".png" && fileExtension != ".pdf")
            {
                UploadStatus.Text = "শুধুমাত্র .jpg, .png বা .pdf ফাইল অনুমোদিত।";
                UploadStatus.ForeColor = System.Drawing.Color.Red;
                return;
            }

            // Save the file
            string fileName = FileUpload1.FileName;
            string savePath = Server.MapPath("~/Uploads/") + fileName;
            FileUpload1.SaveAs(savePath);

            UploadStatus.Text = "ফাইল সফলভাবে আপলোড করা হয়েছে: " + fileName;
        }
        catch (Exception ex)
        {
            UploadStatus.Text = "এটি ছিল একটি ত্রুটি: " + ex.Message;
            UploadStatus.ForeColor = System.Drawing.Color.Red;
        }
    }
    else
    {
        UploadStatus.Text = "অনুগ্রহ করে একটি ফাইল সিলেক্ট করুন।";
        UploadStatus.ForeColor = System.Drawing.Color.Red;
    }
}

সারাংশ

FileUpload Control ব্যবহার করে ASP.NET Web Forms অ্যাপ্লিকেশনে ফাইল আপলোড করা খুবই সহজ। ইউজারকে একটি ফাইল সিলেক্ট করতে দেওয়ার পর, SaveAs মেথড দিয়ে সার্ভারে সেই ফাইলটি সেভ করা যায়। ফাইল সাইজ এবং টাইপ ভ্যালিডেশন করার মাধ্যমে নিরাপত্তা নিশ্চিত করা সম্ভব।

common.content_added_by
টপ রেটেড অ্যাপ

স্যাট অ্যাকাডেমী অ্যাপ

আমাদের অল-ইন-ওয়ান মোবাইল অ্যাপের মাধ্যমে সীমাহীন শেখার সুযোগ উপভোগ করুন।

ভিডিও
লাইভ ক্লাস
এক্সাম
ডাউনলোড করুন
Promotion