PDA

View Full Version : چگونه حجم و پسوند فایل ورودی در کنترل فایل آپلود به صورت داینامیک بررسی کنیم



bitcob589
سه شنبه 20 فروردین 1392, 12:20 عصر
با سلام
چگونه حجم و پسوند فایلی که در در کنترل fileupload قرار میگیرید به صورت داینامیک حجم و پسوند فایل بررسی کنیم

HellisH
سه شنبه 20 فروردین 1392, 12:33 عصر
از مشخصه های uploadedfile.contentlenght و uploadedfile.contenttype میتونید استفاده کنید

Mohammadvb6
سه شنبه 20 فروردین 1392, 12:37 عصر
حجم :

int size = FileUpload1.PostedFile.ContentLength;


پسوند :

نام فایل درون متغییر استرنگ ریخته می شود
string Original_filename = Path.GetFileName(FileUpload1.PostedFile.FileName);

پسوند فایل درون متغییر استرینگ ریخته می شود تا مشخص شود این فایل از نوع عکس است
string ContentType =Path.GetExtension(Original_filename);

bitcob589
سه شنبه 20 فروردین 1392, 12:43 عصر
چگونه پسوند فایل ورودی در کنترل فایل آپلود را با پسوندهای مجاز که در دیتابیس قرار گرفته شده است مقایسه کنیم (آیا تمام پسوندهای مجاز در یک فیلد بگذاریم )

fakhravari
سه شنبه 20 فروردین 1392, 12:55 عصر
یه جدول درست کن با فیلد های
عکس
فایل
فایل متنی
و...
مثلا
عکس > jpeg;png;,..
برای استفاده مقدار جمله عکس بگیر بر اساس ; باید split کنی و با یه حلقه چک کنی
اینم داشته باشی بد نیست
string Original_filename2 = Original_filename.Replace(ContentType, "").Trim();

maktab
سه شنبه 20 فروردین 1392, 13:06 عصر
من قبلا برای تعیین پسوند از این روش استفاده کردم ولی یه مشکل داره! چطور میشه برطرفش کرد؟
مثلا فایلی با چنین اسمی: abc.def.ghi.rar

در این حالت نمیتونه پسوند فایل را که rar هست شناسایی کنه.

bitcob589
سه شنبه 20 فروردین 1392, 13:11 عصر
اگر امکان دارد نمونه کد بگذارید

لطفا راهنمایی بفرمایید:گریه::گریه::گریه::گ یه:

fayagh
چهارشنبه 21 فروردین 1392, 16:07 عصر
//1- Get Web Path
string path = Server.MapPath(".") + "\\Pic\\";

//2- Get And Check File Extension
string[] validext = { ".jpg", ".gif", ".png", ".rar" };
string ext = System.IO.Path.GetExtension(FileUpload1.PostedFile .FileName);
if (Array.IndexOf(validext, ext.ToLower()) < 0)
{
Label1.Text = "invalid file extention";
return;
}

//3- Get And Check File Size
long size = FileUpload1.PostedFile.ContentLength;
size = size / 1024;
if (size > 70)
{
Label1.Text = "file size must < 70kb";
return;
}

//4- Get File Name
string filename = System.IO.Path.GetFileName(FileUpload1.PostedFile. FileName);

//5- Check File Exist And If (true) Generate New Name
while (System.IO.File.Exists(path + "/" + filename))
filename = "1" + filename;
FileUpload1.PostedFile.SaveAs(path + filename);
string Pic = (@"~/pic") + filename;

bitcob589
چهارشنبه 21 فروردین 1392, 20:09 عصر
string[] validext = { ".jpg", ".gif", ".png", ".rar" };
آیا تمام پسوندهای مجاز آپلود فایل در یک رکود دیتابیس گذاشته شود و چگونه تمام پسوندهای مجاز را از دیتابیس خوانده و در آرایه string قرار دهیم

size = size / 1024;
به چه دلیل size را تقسیم بر 1024 می شود

vistacali
چهارشنبه 21 فروردین 1392, 20:13 عصر
آیا تمام پسوندهای مجاز آپلود فایل در یک رکود دیتابیس گذاشته شود و چگونه تمام پسوندهای مجاز را از دیتابیس خوانده و در آرایه string قرار دهیم

خو کاری نداره یه دستور select میشه


به چه دلیل size را تقسیم بر 1024 می شود
حجم پیش فرض بر حسب بایت هست اگر اشتباه نکنم خواسته به کیلو بایت تبدیل کنه حجم رو

bitcob589
چهارشنبه 21 فروردین 1392, 20:18 عصر
خو کاری نداره یه دستور select میشه


حجم پیش فرض بر حسب بایت هست اگر اشتباه نکنم خواسته به کیلو بایت تبدیل کنه حجم رو


با

آیا تمام پسوندهای مجاز در یک فیلد دیتابیس قرار دهیم
یا هر پسوند مجاز آپلود فایل در یک فیلد قرار داده شود

saeed31641
چهارشنبه 21 فروردین 1392, 20:25 عصر
با سلام چرا میخای شما داینامیک بررسی کنید .


string imgFileName = "";
if (FileUploadPic.FileName.Length == 0)
this.modalEmptyPic.Show();
else
{
imgFileName = FileUploadPic.FileName;
if ((System.IO.Path.GetExtension(imgFileName) == ".jpg") || (System.IO.Path.GetExtension(imgFileName) == ".bmp") || (System.IO.Path.GetExtension(imgFileName) == ".gif") || (System.IO.Path.GetExtension(imgFileName) == ".png"))
{
if (FileUploadPic.PostedFile.ContentLength < 100010)
{

bitcob589
چهارشنبه 21 فروردین 1392, 20:32 عصر
با سلام چرا میخای شما داینامیک بررسی کنید .
توسط مدیر سایت حجم و نوع فایل قابل تغییر باشد

this.modalEmptyPic.Show();
.modalEmptyPic چیست

saeed31641
چهارشنبه 21 فروردین 1392, 20:38 عصر
1
this.modalEmptyPic.Show();
این یه پیغام که پاکش کنم من خود نوشتم برای نشاندن خطاش هست
خوب شما بجای نشون دادن همون اعداد و پسوند باید از بانک بخونی دو تا فیلد بگیر یه برای حجمش یکی پسوند.حجمش کهمشکلی نیست حالا برای پسوند شما وقتی میخای پسوند در بانک ذخیره کنی با : ذخیره کن مثلا : jpg:*png*
حالا اینو رشته رو از بانک بخون بریز تو یه رشته بعد بیا split کن : بعدش بریز تو ارایه بعد بجای برنامه بالا که پسوند دارو نشتم شما بیا خونه ارایه ها بنویس مثلا اونجوری
arr[1]

bitcob589
چهارشنبه 21 فروردین 1392, 20:49 عصر
حالا اینو رشته رو از بانک بخون بریز تو یه رشته بعد بیا split کن : بعدش بریز تو ارایه بعد بجای برنامه بالا که پسوند دارو نشتم شما بیا خونه ارایه ها بنویس مثلا اونجوری
arr[1]
اگر امکان دارد با کد توضیح دهید

saeed31641
چهارشنبه 21 فروردین 1392, 22:18 عصر
string str=reader.GetString(i)//از بانک بخون
string[] words = str.Split(':');

for (int i = 0; i < words .Length; i++)
{
if ((System.IO.Path.GetExtension(imgFileName) !=words[i] ) {
// format image is wrong

}

}
یه همچنس چیزی رو باید بنویسی