ESH.FileDownloader
1.0.0
dotnet add package ESH.FileDownloader --version 1.0.0
NuGet\Install-Package ESH.FileDownloader -Version 1.0.0
<PackageReference Include="ESH.FileDownloader" Version="1.0.0" />
paket add ESH.FileDownloader --version 1.0.0
#r "nuget: ESH.FileDownloader, 1.0.0"
// Install ESH.FileDownloader as a Cake Addin #addin nuget:?package=ESH.FileDownloader&version=1.0.0 // Install ESH.FileDownloader as a Cake Tool #tool nuget:?package=ESH.FileDownloader&version=1.0.0
ESH File Downloader 📥
این کتابخانه برای دانلود و ذخیرهسازی انواع فایلها از URL در سرور طراحی شده است. از آن میتوانید برای مدیریت و دانلود انواع فایلها مانند تصاویر، پیدیاف، ویدئو و موسیقی استفاده کنید. فایلها به صورت خودکار در پوشهای که تعیین میکنید ذخیره خواهند شد و نام جدید (GUID) به آنها اختصاص داده میشود.
نصب 📦
برای نصب این کتابخانه در پروژه خود، میتوانید از دستور زیر استفاده کنید:
dotnet add package ESH.FileDownloader
نحوه استفاده 🛠️
1. دانلود و ذخیرهسازی فایلها
برای دانلود فایلها از URL و ذخیره آنها در سرور، از متد DownloadAndSaveFilesAsync
استفاده کنید:
using ESH.FileDownloader;
using System.Collections.Generic;
var fileUrls = new List<string>
{
"https://example.com/image1.jpg",
"https://example.com/document.pdf"
};
var fileType = FileType.Images; // یا FileType.Pdf برای پیدیاف، FileType.Video و غیره
var saveDirectory = "C:\Files";
var result = await Downloader.DownloadAndSaveFilesAsync(fileUrls, fileType, saveDirectory);
foreach (var file in result)
{
if (file.HasError)
{
Console.WriteLine($"Error: {file.Error}");
}
else
{
Console.WriteLine($"File {file.OriginalName} saved as {file.GuidName}");
}
}
2. حذف فایلها
برای حذف فایلهایی که قبلاً ذخیره کردهاید، میتوانید از متد DeleteFiles
استفاده کنید:
using ESH.FileDownloader;
using System.Collections.Generic;
var fileNamesToDelete = new List<string> { "file1.jpg", "file2.pdf" };
var folderPath = "C:\Files";
Downloader.DeleteFiles(fileNamesToDelete, folderPath);
توضیحات 📋
مدیریت پسوند و اندازه فایل: این کتابخانه به صورت خودکار پسوند فایلها را بررسی کرده و اندازه آنها را مطابق با نوع فایل (تصویر، پیدیاف، ویدئو و موسیقی) محدود میکند.
- تصاویر: پسوندهای
.jpg
,.jpeg
,.png
,.gif
و حداکثر حجم 1MB - پیدیاف: پسوند
.pdf
و حداکثر حجم 20MB - ویدئو: پسوندهای
.mp4
,.avi
,.mkv
,.mov
و حداکثر حجم 3MB - موسیقی: پسوندهای
.mp3
,.wav
,.flac
و حداکثر حجم 3MB
- تصاویر: پسوندهای
مدیریت خطا: در صورتی که خطایی در هنگام دانلود یا ذخیرهسازی رخ دهد، فایلهای قبلاً ذخیرهشده حذف میشوند (rollback) و پیامی از خطا به همراه توضیحات به شما باز میگردد.
نامگذاری فایلها: فایلها پس از دانلود با یک نام GUID تصادفی ذخیره میشوند تا از تداخل نامها جلوگیری شود.
نکات 📌
- اگر فایل به دلیل حجم یا پسوند نامعتبر نتواست دانلود شود، خطای مربوطه به صورت واضح به شما اعلام میشود.
- در صورت بروز خطا در هر مرحلهای از دانلود یا ذخیرهسازی، عملیات به طور کامل متوقف میشود و تمام فایلهای ذخیرهشده حذف میشوند.
همکاری 🤝
اگر پیشنهاد یا سوالی دارید، خوشحال میشویم که به ما اطلاع دهید و در توسعه این پروژه مشارکت کنید.
نویسنده ✍️
- ESH Team
Product | Versions Compatible and additional computed target framework versions. |
---|---|
.NET | net8.0 is compatible. net8.0-android was computed. net8.0-browser was computed. net8.0-ios was computed. net8.0-maccatalyst was computed. net8.0-macos was computed. net8.0-tvos was computed. net8.0-windows was computed. |
-
net8.0
- No dependencies.
NuGet packages
This package is not used by any NuGet packages.
GitHub repositories
This package is not used by any popular GitHub repositories.
Version | Downloads | Last updated |
---|---|---|
1.0.0 | 35 | 11/29/2024 |