الفريق العربي للبرمجةأرشيف المنتديات · 2000 – 2023
نسخة أرشيفية للقراءة فقط — التسجيل والمشاركة مغلقان، والمحتوى محفوظ كما كان.

Uploading files with ASP

مغلق
بدأه ahaziz في 30 مايو 2002 · 2 رد · 706 مشاهدة · في منتدى تصميم صفحات الويب
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

السلام عليكم ورحمة الله وبركاته

ارجو افادتى فى موضوع files Upload باستخدام asp هلى من طريقة سهلة لذلك أو هل هناك كود معين لستخدامه يسهل عمل ذلك

وشكراً

أحمد عبد العزيز

#3

<%response.buffer=true

Func = Request("Func")

if isempty(Func) Then

Func = 1

End if

Select Case Func

Case 1

'You do not need to use this form to sen

' d your files.

'However you should not give your submit

' button a NAME or ID.

%>

فضلا قم باختيار الصور لتحميلها

اضغط(استعراض ) لاختيار الصورة من جهازك

ثم اضغط ( تحميل )

اسم الملف

<%

Case 2

ForWriting = 2

adLongVarChar = 201

lngNumberUploaded = 0

'Get binary data from form

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

'Creates a raw data file for with all da

' ta sent. Uncomment for debuging.

'Set fso = CreateObject("Scripting.FileSystemObject")

'Set f = fso.OpenTextFile(server.mappath(".") & "raw.txt", ForWriting, True)

'f.Write strDataWhole

'set f = nothing

'set fso = nothing

'get the boundry indicator

strBoundry = Request.ServerVariables ("HTTP_CONTENT_TYPE")

lngBoundryPos = instr(1,strBoundry,"boundary=") + 8

strBoundry = "--" & right(strBoundry,len(strBoundry)-lngBoundryPos)

'Get first file boundry positions.

lngCurrentBegin = instr(1,strDataWhole,strBoundry)

lngCurrentEnd = instr(lngCurrentBegin + 1,strDataWhole,strBoundry) - 1

Do While lngCurrentEnd > 0

'Get the data between current boundry an

' d 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))

'Make sure they selected at least one fi

' le.

if lngBeginFileName = lngEndFileName and lngNumberUploaded = 0 Then

Response.Write "

The following Error occured.

"

Response.Write "You must Select at least one file To upload"

Response.Write "

Hit the back button, make the needed corrections and resubmit your information."

Response.Write "

"

Response.End

End if

'There could be one or more empty file b

' oxes.

if lngBeginFileName <> lngEndFileName Then

strFilename = mid(strData,lngBeginFileName,lngEndFileName - lngBeginFileName)

'Creates a raw data file with data betwe

' en current boundrys. Uncomment for debug

' ing.

'Set fso = CreateObject("Scripting.FileSystemObject")

'Set f = fso.OpenTextFile(server.mappath(".") & "raw_" & lngNumberUploaded & ".txt", ForWriting, True)

'f.Write strData

'set f = nothing

'set fso = nothing

'Loose the path information and keep jus

' t the file name.

tmpLng = instr(1,strFilename,"")

Do While tmpLng > 0

PrevPos = tmpLng

tmpLng = instr(PrevPos + 1,strFilename,"")

Loop

FileName = right(strFilename,len(strFileName) - PrevPos)

'Get the begining position of the file d

' ata sent.

'if the file type is registered with the

' browser then there will be a Content-Typ

' e

lngCT = instr(1,strData,"Content-Type:")

if lngCT > 0 Then

lngBeginPos = instr(lngCT,strData,chr(13) & chr(10)) + 4

Else

lngBeginPos = lngEndFileName

End if

'Get the ending position of the file dat

' a sent.

lngEndPos = len(strData)

'Calculate the file size.

lngDataLenth = lngEndPos - lngBeginPos

'Get the file data

strFileData = mid(strData,lngBeginPos,lngDataLenth)

'Create the file.

Set fso = CreateObject("Scripting.FileSystemObject")

Set f = fso.OpenTextFile(server.mappath(".") & "" & FileName, ForWriting, True)

f.Write strFileData

Set f = nothing

Set fso = nothing

lngNumberUploaded = lngNumberUploaded + 1

End if

'Get then next boundry postitions if any

' .

lngCurrentBegin = instr(1,strDataWhole,strBoundry)

lngCurrentEnd = instr(lngCurrentBegin + 1,strDataWhole,strBoundry) - 1

loop

Response.Write " "

Response.Write "

تم تحميل الملفات

"

Response.Write lngNumberUploaded & " ملفات .. تم تحميلها.

"

Response.Write "

"

End Select

%>

هذا الموضوع مغلق.

مواضيع مشابهة