PDA

View Full Version : سوال: چطوری میتونم فایلی رو Upload کنم؟



parsinoox
جمعه 14 فروردین 1388, 01:33 صبح
سلام دوباره به دوستای عزیز:بوس:

راستش میخوام توی پروژم امکانی رو قرار بدم که کاربر بتونه یک فایل خاص روی کامپیوترش رو توی سایت Upload کنه، ولی نمیدونم باید چیکار کنم.

میشه دوستانی که تجربه دارن راهنمایی کنن، اگه ممکنه یک کد از نحوه این کار رو بزارین که بتنونم بهتر متوجه روش این کار بشم.

خیلی خیلی ممنون

Saber_Fatholahi
جمعه 14 فروردین 1388, 06:43 صبح
دوست من کار چندان سختی نیست باید از کنترل FileUpload استفاده کنی اگه اول جستجو میکردی بهتر به نتیجه میرسیدی واسه مثال پروزه من دانلود کن توش همه جور مثالی هست از مبتدی تا پیشرفته
در پناه حق

parsinoox
شنبه 15 فروردین 1388, 06:53 صبح
سلام جناب

از راهنماییتون ممنون، پروژه ی شما رو دانلود کردم. درست اجرا نشد بماند، اینقدر حرفه ای بود که من نتونستم ازش استفاده کنم. راستش من خیلی تازه کارم. اولین باری هست که با ASP کار میکنم. هنوز برای درک پروژه ای در این سطح خیلی جوونم :بامزه:

دوستان میشه لطف کنید به من بگین اگه بخوام امکانی رو برای کاربر سایتم فراهم کنم که بتونه فایلی رو در سایت آپلود کنه چیکار باید بکنم؟؟؟؟

ببینید من اصلا نمی دونم چطور با FileUpload کارکنم، باید آدرسی که FileUpload.filename به من میده رو کجا ذخیره کنم؟ تو سایت داخل یک فولدر؟ توی SQL دیتابیس؟؟

یکی به داد من برسه :عصبانی++:

خیلی ممنون اگه میشه سریع من 20 فروردین ارائه پروژه دارم :لبخند::لبخند::لبخند:

online_mansoor2007
شنبه 15 فروردین 1388, 09:38 صبح
امیدوارم این سورس کمکتون بکنه . سعی کردم همه چیز را ساده بنویسم تا به مشکل بر نخورید . من برای ذخیره کردن مشخصات و آدرس محل ذخیره تصویر از بانک استفاده کردم . خود تصویر در فلدری بنام PU ذخیره میشه



'سطر زیر نام فایل را استخراج می کند
Dim filename1 AsString = Mid(File1.PostedFile.FileName, InStrRev(File1.PostedFile.FileName, "\", -1, 1), File1.PostedFile.FileName.Length)
'ارتباط با بانک
Dim sss AsString
sss = "provider=microsoft.jet.oledb.4.0; data source="
sss = sss & Server.MapPath("data1.mdb")
Dim con2 AsNew OleDbConnection(sss)
con2.Open()
'دستور زیر بررسی می کنه که آیا فایلی با این نام وجود داره یا خیر
Dim cmd2 AsNew OleDbCommand("select pic from table1 where pic like('" & filename1 & "')", con2)
Dim dr As OleDbDataReader
dr = cmd2.ExecuteReader()
If dr.Read = TrueThen
Label1.Text = "به علت وجود عکس ديگري با اين نام لطفاّ نام عکس خود را تغيير دهيد"
con2.Close()
Else'اگر نام فایل تکراری نبود آنگاه ....
Label1.Text = " "
Dim ServerPath AsString = Server.MapPath("pu") & Mid(File1.PostedFile.FileName, InStrRev(File1.PostedFile.FileName, "\", -1, 1), File1.PostedFile.FileName.Length)
File1.PostedFile.SaveAs(ServerPath)
Dim filename AsString = Mid(File1.PostedFile.FileName, InStrRev(File1.PostedFile.FileName, "\", -1, 1), File1.PostedFile.FileName.Length)
Dim ss AsString
ss = "provider=microsoft.jet.oledb.4.0; data source="
ss = ss & Server.MapPath("data1.mdb")
Dim con1 AsNew OleDbConnection(ss)
con1.Open()
Dim cmd1 AsNew OleDbCommand("insert into table1(pic) values('" & filename & "')", con1)
cmd1.ExecuteNonQuery()
con1.Close()
Label1.Text = "ثبت اطلاعات وارد شده با موفقيت انجام شد"
EndIf

parsinoox
شنبه 15 فروردین 1388, 17:08 عصر
سلام، مرسی از لطف شما. آره خیلی کد خوبی و واضح هم هست. فقط میشه بپرسم این رو باید کجا استفاده کنم. نمیدونم هم شبیه HTML هم VB هم C#

یه راهنمایی دیگه میکنی عزیز؟؟؟:بامزه:

online_mansoor2007
شنبه 15 فروردین 1388, 17:13 عصر
سلام، مرسی از لطف شما. آره خیلی کد خوبی و واضح هم هست. فقط میشه بپرسم این رو باید کجا استفاده کنم. نمیدونم هم شبیه HTML هم VB هم C#

یه راهنمایی دیگه میکنی عزیز؟؟؟:بامزه:

ببین دوست عزیزم یه کنترل FileUpload که در قسمت ابزار های Vs.net و در ریدیف ابزارهای html قرار داره بزار روی صفحه . روی اون راست کلیک کن و Run At server را بزن . با این کار میتونه از خواص این شی در code Behind استفاده کنید . یه باتن هم بزار و این دستورات را در رویداد Click باتن مورد نظرت بنویس . با این کار پس از انتخاب فایل با زدن بر روی دکمه فایل شما upload میشه .

بای

daffy_duck376
یک شنبه 16 فروردین 1388, 02:14 صبح
البته دوست عزیز برای UPLOAD فایل با حجم بالا باید یه تغییراتی تو WEB .CONFIG بدی مگر نه اجرا نمی شه

online_mansoor2007
یک شنبه 16 فروردین 1388, 02:17 صبح
البته دوست عزیز برای UPLOAD فایل با حجم بالا باید یه تغییراتی تو WEB .CONFIG بدی مگر نه اجرا نمی شه

تغییرات رو اینجا بگید

daffy_duck376
یک شنبه 16 فروردین 1388, 02:21 صبح
این خط کد رو زیر <system.web> اضافه کنید
<httpRuntime maxRequestLength="1000000" />
مگر نه موقع ارسال فایل بالای 3 MB پیغام Can not find server میده!