برای ایجاد یک فرم ارسال فایلهای چندگانه در **ASP.NET Web Forms**، میتوانیم از کنترل `FileUpload` استفاده کنیم. این کنترل به شما این امکان را میدهد که چندین فایل را همزمان آپلود کنید. در اینجا یک راهنمای کامل برای پیادهسازی این سیستم ارائه میشود.
### مراحل پیادهسازی
#### 1. طراحی صفحه ASPX
یک صفحه جدید به نام `MultiFileUpload.aspx` ایجاد کنید و کد زیر را به آن اضافه کنید:
```html
<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="MultiFileUpload.aspx.cs" Inherits="YourNamespace.MultiFileUpload" %>
Multi File Upload
```
### 2. کد پشت (`Code-Behind`)
در فایل `MultiFileUpload.aspx.cs`، کد زیر را اضافه کنید:
```csharp
using System;
using System.IO;
using System.Web.UI;
namespace YourNamespace
{
public partial class MultiFileUpload : Page
{
protected void Page_Load(object sender, EventArgs e)
{
// هیچ بارگذاری خاصی در اینجا نیاز نیست.
}
protected void btnUpload_Click(object sender, EventArgs e)
{
if (fileUpload.HasFiles)
{
foreach (HttpPostedFile uploadedFile in fileUpload.PostedFiles)
{
try
{
// مسیر ذخیرهسازی فایلها
string filePath = Path.Combine(Server.MapPath("~/UploadedFiles"), Path.GetFileName(uploadedFile.FileName));
// ذخیره فایل
uploadedFile.SaveAs(filePath);
}
catch (Exception ex)
{
lblMessage.Text += $"Error uploading {uploadedFile.FileName}: {ex.Message}
";
}
}
lblMessage.Text += "Files uploaded successfully!";
}
else
{
lblMessage.Text = "Please select files to upload.";
}
}
}
}
```
### 3. توضیحات کد
- **FileUpload Control**: کنترل `FileUpload` با ویژگی `AllowMultiple="true"` برای اجازه ارسال چند فایل ایجاد شده است.
- **OnClick Event**: در دکمه `btnUpload`، رویداد `OnClick` برای مدیریت بارگذاری فایلها فراخوانی میشود.
- **File Upload Logic**: در متد `btnUpload_Click`:
- ابتدا بررسی میشود که آیا فایلی انتخاب شده است یا خیر.
- اگر فایلهایی انتخاب شده باشند، از `fileUpload.PostedFiles` برای دریافت لیست فایلها استفاده میشود.
- هر فایل در یک حلقه ذخیره میشود و در صورت بروز خطا، پیام خطا نمایش داده میشود.
- مسیر ذخیرهسازی به `~/UploadedFiles` اشاره میکند. این پوشه باید در دایرکتوری پروژه شما وجود داشته باشد.
### 4. ایجاد پوشه برای ذخیره فایلها
شما باید یک پوشه به نام **UploadedFiles** در ریشه پروژه خود ایجاد کنید. این پوشه جایی است که فایلهای آپلود شده در آن ذخیره خواهند شد.
### 5. نتیجهگیری
با این پیادهسازی، شما یک فرم ساده برای ارسال فایلهای چندگانه ایجاد کردهاید. کاربران میتوانند چندین فایل را انتخاب و ارسال کنند و پیامهای موفقیت یا خطا در نتیجه بارگذاری نمایش داده میشود.
### 6. بهبودهای ممکن
شما میتوانید این سیستم را با قابلیتهای زیر بهبود دهید:
- **بررسی نوع فایل**: اطمینان از اینکه فقط انواع خاصی از فایلها (مانند تصاویر، PDFها و غیره) بارگذاری میشوند.
- **محدودیت حجم فایل**: محدود کردن حجم فایلهای بارگذاری شده.
- **پیشرفت بارگذاری**: استفاده از AJAX برای نمایش پیشرفت بارگذاری فایلها به صورت غیرهمزمان.
اگر سوال یا نیاز به توضیحات بیشتری دارید، خوشحال میشوم کمک کنم!
| صفحه قابل مشاهده:
دانلود کد ایجاد فرم ارسال فایلهای چندگانه با ASP.NET Web Form میباشد