PDA

View Full Version : سوال: مشکل با 3 تا فیل آپلود در فرم ؟



Fartaj
سه شنبه 24 مرداد 1391, 22:29 عصر
سلام خدمت دوستان

من برای سیستم کتابخانه قسمت درج کتاب 3 تا فایل آپلود دارم شامل : کتاب ، فهرست کتاب ، و تصویر کتاب

حالا از این 3 تا خود کتاب واجب هست و 2 تای دیگه احتمال آپلود داره

فهرست اگه آپلود شد که هیچی اگر نه یک علامت پیش فرض مثل # ثبت می شه و تصویر کتاب اگه آپلود شد که هیچی اگر نه یک عکس پیش فرض ثبت می شه
حالا اینا رو با if چجوری چک کنم تا دو تا مشکل نداشتم
کد مربوط به ثبت :


string str_book = "/b_file/";
string str_pic = "/b_img/";
string path1 = Server.MapPath(str_book);
string FileName1 = bookupload.PostedFile.FileName;
while (System.IO.File.Exists((path1 + FileName1)))
{
FileName1 = ("1" + FileName1);
}

bookupload.SaveAs(path1 + FileName1);
if (PicUpload.HasFile != false)
{

string path = Server.MapPath(str_pic);
string FileName = PicUpload.PostedFile.FileName;
while (System.IO.File.Exists((path + FileName)))
{
FileName = ("1" + FileName);
}

PicUpload.SaveAs(path + FileName);


if (listupload.HasFile != false)
{

string str_list = "/b_file/list/";
string path3 = Server.MapPath(str_list);
string FileName3 = listupload.PostedFile.FileName;
FileName3 = ("list_" + FileName1);
listupload.SaveAs(path3 + FileName3);

int retval = BLL.book.Addbook( str_pic + FileName,
str_list + FileName3,
str_book + FileName1,
true, DateTime.Now);
switch (retval)
{
case 0:
msg.Text = "کتاب با موفقیت ثبت شد";
Image1.Visible = true;
break;
}
}
else
{
int retval = BLL.book.Addbook("/b_img/nopic.gif",
"#", str_book + FileName1,
true, DateTime.Now);
switch (retval)
{
case 0:
msg.Text = "کتاب با موفقیت ثبت شد";
Image1.Visible = true;
break;
}
}

}


موقع ثبت اگه بخوام حجم فایل آپلودی رو بدست بیارم بریزم تو یک فیلد دیگه باید چی کار کنم و اینکه موقع نمایش حجم فایل به کاربر چجوری باید تشخیص بدم که حجم فایل در حد کیلوبایت یا مگابایت یا ... یعنی می خوام براساس حجم فایل آپلودی تشخیص بدم حجم در چه حدی هست و موقع نمایش براساس حجم بگم کیلوبایت یا مگابایت ؟

Saber_Fatholahi
چهارشنبه 25 مرداد 1391, 07:49 صبح
سلام
فکر کنم خاصیتی داره فایل آپلود به نام Contentlength که بر حسب بایته که باید خودت تبدیل کنی
در ضمن اگر کتاب تصویر نداشت چرا تصویر تکراری ثبت می کنی یه تصویر داشته باش و همون در دیتابیست ثبت کن دیگه تصویر جدید ثبت نکن
مورد بعدی اینکه واسه فهرست میتونی محتوای تکست باکست قرار بدی اگر خالی بود مقدار # قرار بدی هرچند مرسومه گروه کتاب توی یه جدول دیگه هست و شما فقط کد گروه کتاب اینجا رخیره می کنی

Fartaj
چهارشنبه 25 مرداد 1391, 08:03 صبح
ممنون از راهنماییتون

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


تو چیدمان if هام یه جای کار اشتباه کردم موقع ثبت می گه هر 3 تا فایل رو بده می تونید یک نگاهی به if ها بندازید ؟

mehdi_gerami65
چهارشنبه 25 مرداد 1391, 11:23 صبح
کدهاتون یه کم سردر گم هست اینو چرا اینجوری نوشتید بزارید من براتون مینویسم میذارم تو تاپیک بردارید ولی خودتون هم سعی کنید یه کم کدهاتونو مرتب کنید اگه مرتب کنید میتونید مشکل رو حل کنید

Fartaj
چهارشنبه 25 مرداد 1391, 17:01 عصر
ممنون می شم دوست عزیز لطف می کنید حالا تا جایی که می تونم دستکاری می کنم ولی اگه شما هم تونستید خیلی عالی می شه