ASP.NET Web Forms এ ফাইল হ্যান্ডলিং একটি গুরুত্বপূর্ণ ফিচার, যা আপনাকে ব্যবহারকারীর কাছ থেকে ফাইল আপলোড এবং সেগুলো ডাউনলোড করার সুবিধা প্রদান করে। এটি সাধারণত ফাইল আপলোড, ফাইল সেভ, এবং ফাইল ডাউনলোড করার মতো কাজের জন্য ব্যবহৃত হয়। FileUpload কন্ট্রোল ব্যবহার করে ফাইল আপলোড করা যায় এবং Response.WriteFile মেথড ব্যবহার করে ফাইল ডাউনলোড করা যায়।
ASP.NET Web Forms এ ফাইল আপলোড করার জন্য FileUpload কন্ট্রোল ব্যবহার করা হয়। এটি ব্যবহারকারীদের তাদের লোকাল কম্পিউটার থেকে সার্ভারে ফাইল আপলোড করার সুযোগ দেয়। ফাইল আপলোড করার পর আপনি সেই ফাইলটি সার্ভারে সেভ করতে পারেন এবং প্রয়োজনে ফাইলের নাম বা পাথ স্টোর করতে পারেন।
ASP.NET পেজ:
<asp:FileUpload ID="FileUpload1" runat="server" />
<asp:Button ID="UploadButton" runat="server" Text="Upload" OnClick="UploadButton_Click" />
<asp:Label ID="StatusLabel" runat="server" Text="" ForeColor="Green" />
Code-behind (C#):
protected void UploadButton_Click(object sender, EventArgs e)
{
// ফাইল আপলোড করার আগে ফাইল চেক করা
if (FileUpload1.HasFile)
{
try
{
// ফাইলের এক্সটেনশন চেক করা (যেমন শুধুমাত্র .jpg ফাইল)
string fileExtension = System.IO.Path.GetExtension(FileUpload1.FileName);
if (fileExtension.ToLower() == ".jpg")
{
// ফাইল সেভ করা
string filePath = Server.MapPath("~/Uploads/") + FileUpload1.FileName;
FileUpload1.SaveAs(filePath);
StatusLabel.Text = "File uploaded successfully!";
}
else
{
StatusLabel.Text = "Only JPG files are allowed.";
StatusLabel.ForeColor = System.Drawing.Color.Red;
}
}
catch (Exception ex)
{
StatusLabel.Text = "File upload failed: " + ex.Message;
StatusLabel.ForeColor = System.Drawing.Color.Red;
}
}
else
{
StatusLabel.Text = "Please select a file to upload.";
StatusLabel.ForeColor = System.Drawing.Color.Red;
}
}
এখানে FileUpload1 কন্ট্রোল ব্যবহার করে একটি ফাইল আপলোড করা হচ্ছে এবং আপলোড হওয়ার পর সিস্টেমে সেভ করা হচ্ছে।
ASP.NET Web Forms এ ফাইল ডাউনলোড করার জন্য আপনি Response.WriteFile মেথড ব্যবহার করতে পারেন। এই মেথডটি ব্রাউজারে ফাইলটি সরাসরি ডাউনলোড করার জন্য প্রেরণ করবে।
ASP.NET পেজ:
<asp:Button ID="DownloadButton" runat="server" Text="Download File" OnClick="DownloadButton_Click" />
Code-behind (C#):
protected void DownloadButton_Click(object sender, EventArgs e)
{
string filePath = Server.MapPath("~/Uploads/") + "example.jpg";
// ফাইল চেক করা
if (System.IO.File.Exists(filePath))
{
// ফাইল ডাউনলোড করা
Response.ContentType = "application/octet-stream";
Response.AppendHeader("Content-Disposition", "attachment; filename=" + System.IO.Path.GetFileName(filePath));
Response.TransmitFile(filePath);
Response.End();
}
else
{
StatusLabel.Text = "File not found!";
StatusLabel.ForeColor = System.Drawing.Color.Red;
}
}
এখানে Response.TransmitFile ব্যবহার করে নির্দিষ্ট ফাইলটি ডাউনলোড করার জন্য ব্রাউজারে পাঠানো হচ্ছে। Content-Disposition হেডারের মাধ্যমে ফাইলটি attachment হিসেবে প্রেরিত হচ্ছে, যা ব্যবহারকারীকে ডাউনলোড করার জন্য প্রম্পট দেখাবে।
ফাইল হ্যান্ডলিংয়ে কিছু নিরাপত্তা বিষয় বিশেষভাবে খেয়াল রাখতে হয়। যেমন:
ASP.NET Web Forms এ ফাইল হ্যান্ডলিং একটি গুরুত্বপূর্ণ কার্যকলাপ, যা ইউজারের কাছ থেকে ফাইল আপলোড এবং সেগুলো ডাউনলোড করতে সক্ষম করে। FileUpload কন্ট্রোলের মাধ্যমে ফাইল আপলোড করা এবং Response.TransmitFile মেথডের মাধ্যমে ফাইল ডাউনলোড করা যায়। তবে, ফাইল আপলোড এবং ডাউনলোডের সময় নিরাপত্তা বিষয়ক সতর্কতা অবলম্বন করা গুরুত্বপূর্ণ, যেন ফাইল সাইজ, এক্সটেনশন, এবং কনটেন্ট সঠিকভাবে যাচাই করা যায়।
common.read_more