PDA

View Full Version : کمک فوری برای انتقال نام تصویر آپلود شده به پایگاه داده



bbc_sh
سه شنبه 18 تیر 1387, 23:09 عصر
سلام دوستان
من یه عکس رو آپلود میکنم توی یک فایل روی سرور و میخوام نام عکس رو تو پایگاه داده ذخیره کنم. در ضمن میخوام با sqldataspource باشه و asp.net با c# .هرچی گشتم نتونستم یه مطلب خوب گیر بیارم.تمام مطالب ذخیره مستقیم عکس توی پایگاه داده هست.:گریه:

naeeme
چهارشنبه 19 تیر 1387, 08:27 صبح
سوالت نکته انحرافی داره؟؟
خوب مسئله رو کاملا باز کنین و بگین که کجای این کد رو نمی تونین بنویسین.
چون الان به ذهنم میاد که شما نام فایل رو که دارین، پس خیلی راحت، کافیه نام فایل رو با یه دستور Insert در DB قرار بدین

bbc_sh
چهارشنبه 19 تیر 1387, 09:31 صبح
نمیدونم چه طوری باید از نام فایل استفاده کنم و با دستور insert وارد پایگاه داده کنم.منظور از نام فایل مسیر فایل هست؟مثلا ~/pic/نام عکس

naeeme
چهارشنبه 19 تیر 1387, 10:03 صبح
در ابجکت fileupload یه پراپرتی وجود داره به نام postedfile که خودش دارای یه پراپرتی بهنام filename هست که مسیر کامل فایل در کلاینت رو میده.
حالا برای به دست اوردن نام تصویر a.jpg کافی هست دستور زیر رو بنویسید. بعد از اون هم دستور Insert رو بنویسید.




string FileName=string.Empty;
FileName = fup.PostedFile.FileName.Substring(fup.PostedFile.F ileName.LastIndexOf('\\'));


منظور از fup همون fileUpload هست.

برای ریختن در DB هم دستورات زیر



string StrQuery= "INSERT INTO نام جدولSET (نام فیلد) VALUES (مقدار)";
SQLCmd = New SqlClient.SqlCommand(strQuery, Connection);

SQLCmd.CommandText = strQuery;
SQLCmd.ExecuteNonQuery();

bbc_sh
چهارشنبه 19 تیر 1387, 10:17 صبح
دوست عزیز میشه با c# بنویسید.substring چیکار میکنه؟ چه طور از دستور insert استفاده کنم ؟من توی هر سطر از گرید ویو یک upload دارم.

naeeme
چهارشنبه 19 تیر 1387, 10:25 صبح
substring چیکار میکنه؟
استفاده از msdn کار خوبیه. حتما این کار رو بکنین.

از اسمش مشخصه، یه زیر مجموعه از یک رشته رو از محل داده شده بر می گردونه.
در این کد، از محل آخرین \ که بعد از اون اسم فایل هست، یه رشته بر می گردونه.

bbc_sh
چهارشنبه 19 تیر 1387, 11:07 صبح
من اگه بخوام سایز عکس ها رو تغییر بدم باید چه مطلبی رو سرچ کنم.میخوام یه عکس یه جا بزرگ باشه و یه جای دیگه سایزش کمتر باشه.عمل تغییر سایز زمان آپلود انجام میشه یا زمان
لود تصویر توی مثلا یک دیتاکنترل.

bbc_sh
چهارشنبه 19 تیر 1387, 18:37 عصر
سلام دوستان
من کد زیر رو مینویسم ولی نام تصویر نمیره به پایگاه داده ,فقط تصویر روی سرور آپلود میشه.
من میخوام از کنترل آپلود توی یک گریدویو استفاده کنم.حالا این جا تو این کد از کجا معلومه که نام عکس به کدوم ردیف جدول اضافه بشه .لطفا راهنمایی کنید.

protected void uploade_Click(object sender, EventArgs e)
{
if (uploadetest.HasFile == false)
{
uploadedetail.Text = "plese select youre file";
}
else
{
string filepath = Server.MapPath("~/pic/" + uploadetest.FileName);
uploadetest.SaveAs(filepath);
string FileName = string.Empty;
FileName = uploadetest.PostedFile.FileName.Substring(uploadet est.PostedFile.FileName.LastIndexOf('\\'));


string insertsql="INSERT INTO stt (picture) VALUES (@FileName)";
SqlConnection con = new SqlConnection(connectionString);
SqlCommand cmd = new SqlCommand(insertsql, con);
con.Open();
cmd.CommandText = insertsql;
con.Close();

}
}