به دادم برسید

beauty

New Member
با سلام خدمت تمام دوستان عزیز
ببخشید اگر من زیادی سوال می کنم چونکه تازه عضو سایت شما شدم ، دوست دارم زود زود سوالام را بپرسم تا مشکلاتم حل بشه .به بزرگی خودتون ببخشید.
من مي خوام برنامه ASP داشته باشم كه بعد از Browse كردن یک فایل word و آپلود كردن آن بر روي سرور ،آن را بر روي ديتابيسsqlserver قرار دهم و همچنين آنرا بتونم نمايش نيز بدهم و در جای دیگری ذخیره کنم .
خواهشا من را راهنمایی کنید تا کارم راه بیفته.
متشکرم:cry:
 

sajjad_eb

Well-Known Member
می شه بیشتر توضیح بدی ؟
42.gif
 

beauty

New Member
ممنون از توجهتون:
بله که میشه بیشتر توضیح بدم.
من کد زیر را در برنامه نوشتم ولی این کد فقط تصاویر را ذخیره می کنه در صورتیکه من می خوام فایل های متنی (فایل های word)را ذخیره کنم.د رواقع نمی دونم باید در برنامه به جای نوع BITMAP چی تعریف کنم.لطفا هر کی می تونه من را راهنمایی کنه تا زود تر مشکل من حل بشه.(یک توضیح دیگه این که من فایل های درون را بصورت BYTE ذخیره کردم و بعد موقع خوندن تبدیل به فرمت متنی یا IMAGE می کنم)

Private Sub getPicFromSql()
Dim stream As New MemoryStream
Dim mycnn As New SqlConnection("server=(local);initial catalog=letterdb;integrated security=SSPI;user id=fpsh-co;password=1234")
Dim cmd As New SqlCommand("select letpath from tbllet", mycnn)
() mycnn.Open
()Dim image() As Byte = cmd.ExecuteScalar
( stream.Write(image, 0, image.Length)
'Dim bitmap As New Bitmap(stream)
Response.ContentType = "image/gif"
response.contenttype="application/vnd.ms-excel"
bitmap.Save("c:\me.gif", ImageFormat.Gif)
Dim d As New System.IO.FileInfo("c:\me.gif")
Response.AddHeader("content-disposition", "attachment; " + "c:\me.gif")
Response.WriteFile("c:\me.gif")
mycnn.Close()
stream.Close()
End SuB
 

sajjad_eb

Well-Known Member
من نمی دونم چه شکلی فایل ورد رو باید چپوند تو دیتابیس . اما اگه یه وقتی به ابن مشکل بر خورد کنم میام فایل های Wordرو یه جا تو سایت upload می کنم بعد لینک رو می زارم تو دیتابیسم .
39.gif

این جوری شاید کارت راه بیفته . بهتر از جواب ندادن هست . نه ؟
42.gif
 

ranjbar_2

Member
با سلام
زيبا جان من اصلا با بانك اس كيو ال كار نكردم ولي بايد خدمتت عرض كنم كه با بانك اكسس من تونستم كه هر نوع فايلي رو توي بانك آپلود كنم

البته من مستقيما توي بانك آپلود مي كنم و بعد ازش استفاده مي كنم ( من اينجا برات روش كار خودمو توضيح مي دم اگه دوست داشتي بگو برات فايل بذارم - البته اين روزا خيلي كم آن ميشم ولي حتما جوابتو مي دم )

من توي بانكم يه جدول درست كردم با فيلد هاي زير :
id, name , text , data , type, size
كه به ترتيب آي دي - نام -متن توضيحي - خود فايل - نوع فايل - حجم هستن
براي آپلود كردن از آبجكت aspSmartUpload استفاده مي كنم و كدش در زير هستش

کد:
server.ScriptTimeout=360
Set mySmartUpload = Server.CreateObject("aspSmartUpload.SmartUpload")
mySmartUpload.MaxFileSize = 2049000
mySmartUpload.CodePage = 65001
mySmartUpload.Upload
Set File = mySmartUpload.Files("file")
If file.IsMissing Then
File.Delete
else
set conn=Server.CreateObject("ADODB.Connection")
Conn.Open "DSN=dbp;"
set rs=Server.CreateObject("ADODB.recordset")
varSQL = "SELECT * FROM down;"
rs.Open varSQL, conn,2,3	
	rs.AddNew
	file.FileToField rs("data")	
	rs("name") = File.FileName
	rs("size") = File.Size
	rs("type") =file.FileExt
	rs("text") =mySmartUpload.Form("text")
	rs.Update
rs.close
conn.close
end if

حالا طريقه دانلود كردن
کد:
varSQL = "SELECT * FROM down where id = " & Request("id")& ";"
set conn=Server.CreateObject("ADODB.Connection")
Conn.Open "DSN=dbp;"
set rs=Server.CreateObject("ADODB.recordset")
rs.Open varSQL, conn		
Response.ContentType = "application/octet-stream"
Response.AddHeader "Content-Disposition", "attachment;filename=" & Trim(rs("name"))
Response.AddHeader "Content-Length", rs("size")
Response.BinaryWrite rs("data")
rs.close
conn.close
البته بهترين كار اينه كه كد بالا رو توي يك فايل قرار بدي و اون رو اين شكلي صدا بزني :
down.asp?id=2
اميدوارم مشكلت حل بشه

به اميد موفقيت
 

beauty

New Member
ممنون از شما دوستان عزیز .
فکر می کنم بتونم مشکلم را با کمک راهنمایی های شما حل کنم.
 

desiran

Member
من هم پیشنهاد می کنم که همون کاری رو که sajjad_eb گفت بکنی.
 

amirlol

Well-Known Member
بگردی من یه نمونه کد کامل گذاشتن تو سایت
اگه پیدا نکردی بهم یه ایمیل بزن برات بزارمش!!!
کامل است و همونی که خودت میخوای
 

m_ziba

Member
beauty من طبق قانون انجمن وظیفه دارم مبحث هایی با عنوان های "کمکم کنید!" "آی بیچاره شدم به دادم برسید!" "کمک فوری!" و از این قبیل رو حذف کنم. عنوان مبحث باید به وضوح نوع مشکل شما رو بیان کنه. این بار تذکر دادم متاسفانه دفعه بعد همون طور که گفتم عمل می کنم. شما شما تازه عضو شدین و قوانین انجمن رو نمی دونین این بار تخفیف!

اما در مورد پرسشی که کردین، کاملاً حق با دوستانه، شما دلیلی نداره خود فایل یا عکس رو توی پایگاه داده بذارین باید اونو upload کنین بعد مسیرش رو توی پایگاه داده قرار بدین. هر جا هم که خواستین ازش استفاده کنین مسیرش رو بخونین و اسم فایل رو.
نیک؟!
 

جدیدترین ارسال ها

بالا