المشكلة هى انى عامل كود لرفع الملفات المشكلة هى كيف تحديد اسم الملف لكى اسجله فى قاعدة البيانات
سؤال بسيط كيف تحديد اسم الملف
اذا كنت تستخدم ابلودر جاهز عندي لك فكرة جميلة .. و هي ان تعمل session يحجز اسم الملف من نفس الصفحة التي تأخذ بيانات الملف الذي تم رفعه .. ثم تقوم باستخدام اسم الملف في أي مكان في الموقع .. و طبعا عادة بعد استخدامه تعيد حالة ال Session إلى القيمة الفارغة ..
اعتقد انها فكرة سهلة جدا جدا و مريحة :)
You can fly while you can touch the sky
المشكلة هى كيف تحديد اسم الملف انا عارف الطريقة دة بس مش عارف احدد اسم الملف وهذا هو الكود المستخدم
NOTE : Please
be patient, you will receive a Progress Bar notification until
the file is completely transferred.
وهذا كود الابلودر
<%
'--- Instantiate the FileUp object
Set oFileUp = Server.CreateObject("SoftArtisans.FileUp")
'--- Assign the same progress ID that we assigned to the progress object
oFileUp.ProgressID = CInt(Request.QueryString("progressid"))
oFileUp.Path = Server.MapPath(Application("vroot") & Session("up") )
oFileUp.Form("myFile").Save
Response.Redirect "file_uploads.asp?o=success"
%>للأسف أخي .. يصعب تحديد الملف من هنا لأنه تم تضمين كائن باسم SoftArtisans.FileUp و لا اعلم بأي لغة صمم و ما هي أكواده و هل يمكن التحكم من خلالها في اسم الملف .. حاول ان تفتح الملفات المرفقة معه و ترى إن كان بالإمكان الحصول من الكود على اسم الملف ..
You can fly while you can touch the sky
مش ممكن تحديد الملف من الفورام نفسه اى بعد الضغط على submit
هذا مثال للحصول على اسم الملف
noBytes = Request.TotalBytes
binData = Request.BinaryRead (noBytes)
'convery the binary data to a string
Set RST = CreateObject("ADODB.Recordset")
LenBinary = LenB(binData)
if LenBinary > 0 Then
RST.Fields.Append "myBinary", adLongVarChar, LenBinary
RST.Open
RST.AddNew
RST("myBinary").AppendChunk BinData
RST.Update
strDataWhole = RST("myBinary")
End if
strBoundry = Request.ServerVariables ("HTTP_CONTENT_TYPE")
lngBoundryPos = instr(1, strBoundry, "boundary=") + 8
strBoundry = "--" & right(strBoundry, len(strBoundry) - lngBoundryPos)
lngCurrentBegin = instr(1, strDataWhole, strBoundry)
lngCurrentEnd = instr(lngCurrentBegin + 1, strDataWhole, strBoundry) - 1
Do While lngCurrentEnd > 0
'Get the data between current boundry and remove it from the whole.
strData = mid(strDataWhole, lngCurrentBegin, lngCurrentEnd - lngCurrentBegin)
strDataWhole = replace(strDataWhole, strData,"")
'Get the full path of the current file.
lngBeginFileName = instr(1, strdata, "filename=") + 10
lngEndFileName = instr(lngBeginFileName, strData, chr(34))
strFilename = mid(strData, lngBeginFileName, lngEndFileName - lngBeginFileName)يمكنك اختصار الخطوات كيفما تريد ..
You can fly while you can touch the sky
على فكرة انا مش فاهم حاجة من الكود داه خالص ممكن التوضيح او تحديد الكود المهم او الذى يجب ان استخدمه
جرب كتابة الكود سطر سطر و اعرض بيانات كل متغيرلا ستفهم بنفسك ماذا حدث .. :)
في هذا المثال كل سطر مهم و لكن اذا فهمت معني كل أمر تستطيع اعادة كتابة الكود بطريقة أخرى أسهل
You can fly while you can touch the sky
هذا الموضوع مغلق.