Programación de código fuente Asp
Descripción del problema:
Hay muchas y complicadas búsquedas en Internet, y cuanto más las miras, más Te confundes. .......
Lo mejor es escribir el código en cada página, y se puede resolver en unas dos o tres páginas. ¡Gracias a todos por su ayuda! ! ! ! ! !
Análisis:
Tres páginas: seleccionar página, cargar subpágina, llamada página de códigos upload.inc,
También uso esto yo mismo. LZ te dará puntos extra.
1Buscar y cargar:
& ltform action = " sub " método = " post " enctype = " multipart/form-data " target = " _ self " >>p >
& ltipo de entrada = nombre de archivo = src tamaño = "20" valor = "examinar " >>p>
& tipo de entrada = enviar valor = " subir " nombre = b 1 showprocessbar = " verdadero " >
</form>
Sub carga y devuelve la dirección y guarda el nombre del archivo en la sesión (ccc).
<! -# include FILE = " upload . Inc "-& gt;
& lt%
carga atenuada, archivo, nombre del formulario, ruta del formulario, iCount, formato de archivo
Establecer carga = nuevo upload_F
Función MakedownName()
Nombre difuso
fname = ahora()
fname = reemplazar (fname, "-", "")
fname = reemplazar(fname, " ", "")
fname = reemplazar(fname, ":", "" )
fnombre = reemplazar(fnombre, "PM", "")
fnombre = reemplazar(fnombre, "AM", "")
Fnombre = reemplazar( fname, "mañana", "")
Fname = reemplazar(fname, "tarde", "")
fname = int(fname)+int((10- 1+ 1)* Rnd+1)
MakedownName=fname
Función final
formPath="upload/"
iCount= 0
Para cada nombre de formulario en upload.file ' ', enumere todos los archivos cargados.
Set file=upload.file(formName)' 'Generar objeto de archivo.
formato de archivo = lcase(right(file . nombre de archivo, 4))
Si formato de archivo = " " o formato de archivo = " " entonces
respuesta. escriba " & ltscript& gtAlert('¡El formato del archivo es incorrecto, vuelva a cargarlo!'); ubicación = ' " & amp request. ServerVariable("HTTP_REFERER")&</script>"
response.end
finalizará si...
si Archivo. Tamaño de archivo & gt0 entonces ' ' Si tamaño de archivo > 0 significa que hay datos de archivo.
nuevo nombre = crear nombre()& "."& ampmid(archivo.nombredearchivo,InStrRev(archivo.nombre de archivo,"")+1)
sesión( "ccc") =nuevo nombre
Archivo. guardar como servidor . mappath(formPath & Newname)' 'Guardar el archivo.
iCount=iCount+1
Otros
response.write " & ltfont style=FONT-SIZE:9pt >.File
respuesta.end
finalizará si...
entonces
% & gt
& lt%
respuesta.escribir "& lta href = ' subir/" & nuevo nombre y destino = _ en blanco & gt subir/" & nuevo nombre && lt/a & gt; ("&cint(file.FileSize/1024 )& amp;k ) ¡Carga exitosa! "
% & gt
& lt%
Establecer carga = Ninguno
= nada ' 'Eliminar este objeto .
% & gt
El código de la página upload.inc es el siguiente:
& ltscript RUNAT = idioma del servidor = VBSCRIPT & gt
dim upfile_Stream
Carga del curso_F
dim formulario, archivo, versión
Subclase privada_Initialize
dim iStart, iFileNameStart, iFileNameEnd, iEnd, vbEnter, iFormStart, iFormEnd, theFile
dim strDiv, mFormName, mFormValue, mFileName, mFileSize, mFilePath, iDivLen, mStr
Version= "Cargar versión 1.0"
p>Bajo pedido. TotalBytes & lt1 luego sale de la unión
set Form=CreateObject("Script. Dictionary》)
set File=CreateObject("Script. Dictionary》)
configurar el archivo _ Stream = CreateObject("Adodb. Stream")
upfile_Stream.mode=3
upfile_Stream.type=1
upfile_Stream.open p >
upfile_Stream.write solicita BinaryRead(request.
Número total de bytes)
vbEnter=Chr(13)HRC(10)
iDivLen=inString(1, vbEnter)+1
strDiv=subString ( 1, iDivLen)
iFormStart=iDivLen
iFormEnd=inString(iformStart, strDiv)-1
Y iFormStart & ltiFormEnd
iStart =inString(iFormStart, " nombre=" ")
iEnd=inString(iStart+6, """")
mFormName=subString(iStart+6, iEnd-iStart - 6)
iFileNameStart = inString(iEnd+1, " filename=" ")
Si iFileNameStart & gt0 y iFileNameStart & lt, que así sea
iFileNameEnd = inString(iFileNameStart+10, """")
mFileName = subString(ifilename inicio+10, ifilename fin-ifilename inicio-10)
iStart = inString(iFileNameEnd+ 1 , vbEnter & ampvbEnter)
iEnd=inString(iStart+4, vbEnter & ampstrDiv)
Si iEnd & gt entonces déjame comenzar
mFileSize=iEnd - iStart-4
Otros
mFileSize=0
Terminará si...
Establecer archivo = nueva información del archivo p >
Archivo. NombreDeArchivo=getNombreDeArchivo(mNombreDeArchivo)
Archivo. FilePath=getFilePath(mFileName)
Archivo. FileSize=mFileSize
Archivo. FileStart=iStart+4
Archivo. FormName=FormName
archivo.add mFormName, file
Otro
iStart=inString(iEnd+1, vbEnter & ampvbEnter)
iEnd=inString(iStart+4, vbEnter & ampstrDiv)
Si iEnd & gt entonces déjame empezar
mFormValue=subString(iStart+4, iEnd-iStart-4) p> p>
Otro
mFormValue= " "
El formulario finalizará si...
Agregue mFormName, mFormValue
Terminará si...
iFormStart=iformEnd+iDivLen
iFormEnd=inString(iformStart, strDiv)-1
Fila
Conector final
Subcadena de función privada (theStart, theLen)
dim i, c, stemp
upfile_Stream.
Position=theStart-1
stemp= " "
Para i=1 a theLen
si upfile_Stream. Luego salga de EOS
c=ascB(upfile_Stream.read(1))
si c & gt entonces 127
si upfile_Stream. Luego salga de EOS
stemp = stemp & ampchr(AscW(ChrB(AscB(upfile_Stream.read(1)))&ChrB(c)))
i= i+1
Otros
stemp = stemp & ampComisión de Derechos Humanos (c)
Terminará si...
Entonces
p>subString=stemp
Función final
Función privada inString(theStart, varStr)
dim i, j, bt, theLen, str
Cadena de entrada=0
Str=toByte(varStr)
theLen=LenB(Str)
para i=theStart to upfile_Stream . size-length
Si i>upfile_Stream.size entonces salga de la función
upfile_Stream. posición=i-1
si AscB(upfile_Stream. leído como (1))=AscB(midB(Str, 1)) entonces
InString=i
Para j=2 a theLen
si upfile_Stream. Entonces EOS
Cadena de entrada = 0
Salir para...
Terminará si...
if AscB(upfile_Stream . leer(1))<& gtAscB(MidB(Str, j, 1)) y luego
Ingrese cadena=0
Salir para...
< p. >Si... terminaráEntonces
si InString & lt& gt0 entonces saldrá de la función
Si... terminará
Luego
Finalizar función
Subclass_terminate privada
Formulario. Eliminar todos los
archivos.
Eliminar todo
Establecer formulario=Ninguno
Establecer archivo=Ninguno
upfile_Stream.close
Establecer archivo secuencia=Ninguno
Conector final
Función privada GetFilePath(FullPath)
Si FullPath & lt& gt"" entonces
GetFilePath = left(FullPath, InStrRev(FullPath, " \ "))
Otros
GetFilePath = " "
Terminará si...
Finalizar función
Función privada GetFileName (ruta completa)
Si FullPath & lt& gt"" entonces
GetFileName = mid(FullPath, InStrRev(FullPath, " \")+1) p>
Otros
GetFileName = " "
Terminará si...
Finalizar función
Privado función toByte(Str )
dim i, iCode, c, iLow, iHigh
toByte= " "
Para i=1 a Len(Str)
c=mid(Str, I, 1)
iCode =Asc(c)
Si iCode & lt0, entonces iCode = iCode + 65535
Si iCode & gt entonces 255
iBajo = Izquierda(Hex(Asc(c)), 2)
iAlto =Derecha(Hex(Asc(c) )) , 2)
ToByte=ToByte&chrB("&H"&iLow)andampchrB("&H"&iHigh)
Otros
ToByte=ToByte& ampchrB( AscB(c))
Terminará si...
Entonces
Finalizar función
Finalizar clase
Clase FileInfo
dim FormName, nombre de archivo, ruta de archivo, tamaño de archivo, inicio de archivo
Subclase privada_Initialize
Nombre de archivo = " "
Ruta del archivo = " "
Tamaño del archivo = 0
Inicio del archivo = 0
Nombre del formulario = " "
Fin conector
Función pública guardar como (ruta completa)
dim dr, ErrorChar, I
Guardar como=1
Si trim(ruta completa )= " " o FileSize=0 o FileStart=0 o FileName= " ", salga de la función
Si FileStart=0 o right(fullpath,1)="/"salga de la función
set dr=CreateObject("Adodb. Stream")
Modo Doctor=3
dr.Type=1
Abrir Doctor
upfile _ stream . position = inicio del archivo -1
upfile_Stream.copyto dr,FileSize
Dr guardar ruta completa del archivo, 2
Dr Cross
Establecer dr=Ninguno.
Guardar como=0
Finalizar función
Finalizar clase
& lt/SCRIPT & gt;