Enviar código fuente
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.
1 Busque y cargue:
ltform action = " sub " método = " post " enctype = " multipart/form-data " target = " _ self "
tipo de entrada = nombre de archivo = tamaño src = "20" valor = "explorar " >>p>
tipo de entrada = valor de envío = " cargar " nombre = b 1 showprocessbar = " verdadero " >> p >
lt/form gt;
Sub carga y devuelve la dirección y guarda el nombre del archivo en la sesión (ccc).
¡Es! -# 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, ":", "")
p>fnombre = reemplazar(fnombre, "PM", "")
fnombre = reemplazar(fnombre, "AM", "")
Fnombre = reemplazar(fnombre , "mañana", "")
Fname = replace(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 " lt script gtAlert('¡El formato del archivo es incorrecto, vuelva a cargarlo!'); ubicación = ' " amp request. ServerVariable("HTTP_REFERER")</script gt;"
response.end
finalizará si...
si el archivo.
Tamaño de archivo gt0 entonces ' ' Si tamaño de archivo > 0 significa que hay datos de archivo.
nuevo nombre = crear nombre() amp;"." ampmid(file.filename,InStrRev(file.filename,"") 1)
session("ccc")= nuevonombre
Archivo. guardar como servidor mappath(formPath y Newname)' 'Guardar el archivo.
iCount=iCount 1
Otro
respuesta.write " ltfont style=FONT-SIZE: 9pt >. Archivo
Respuesta. Fin
Terminará si...
Entonces
gt
lt
respuesta.escribir " lta href = 'cargar/" amp; nuevo nombre amp target = _ en blanco gt upload/" amp nuevo nombre amp lt/a gt; (" ampcint(File.FileSize/1024) amp; k) ¡Carga exitosa!"
gt
lt
Establecer carga=nada
Establecer carga=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
p>Curso Upload_F
forma atenuada, archivo, versión
Subclase privada_Initialize
atenuada iStart, iFileNameStart, iFileNameEnd, iEnd, vbEnter, iFormStart, iFormEnd, theFile
dim strDiv, mFormName, mFormValue, mFileName, mFileSize, mFilePath, iDivLen, mStr
Version= "Cargar versión 1.0"
Bajo pedido. TotalBytes lt1 luego salga del conector
set Form=CreateObject("Script. Dictionary》)
set File=CreateObject("Script. Dictionary》)
set up file_Stream = CreateObject("Adodb. Stream")
upfile_Stream.mode=3
upfile_Stream.type=1
upfile_Stream.open
upfile_Stream.write solicitudBinaryRead(solicitud.
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)< / p>
iFileNameStart = inString(iEnd 1, " filename=" ")
Si iFileNameStart gt0 y iFileNameStart lt, que así sea
iFileNameEnd = inString(iFileNameStart 10, " """)
mFileName = subString(ifilename inicio 10, ifilename final-ifilename inicio-10)
iStart = inString(iFileNameEnd 1, vbEnter ampvbEnter)
iEnd=inString(iStart 4, vbEnter ampstrDiv)
Si iEnd gt entonces déjame empezar
mFileSize=iEnd-iStart-4
Otro
p>mFileSize=0
Terminará si...
Establecer archivo = nueva información del archivo
Archivo. NombreDeArchivo=getNombreDeArchivo(mNombreDeArchivo)
Archivo. FilePath=getFilePath(mFileName)
Archivo. FileSize=mFileSize
Archivo. FileStart=iInicio 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)
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))) amp;ChrB(c)))
i=i 1
Otro
stemp = stemp amp Comisión de Derechos Humanos (c)
Terminará si...
Entonces
subString=stemp
Función final
Función privada enString(theStart, varStr)
dim i, j, bt, theLen, str
Cadena de entrada=0
Str=toByte(varStr)
theLen=LenB(Str)
para i=theStart a upfile_Stream. size-length
Si gtupfile_Stream.size salgo 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 . read(1)) lt; gtAscB(MidB(Str, j, 1)) luego
Ingrese cadena=0
Salir para...
Si... terminará
Entonces
si InString lt gt0 entonces saldrá de la función
Si... terminará
Entonces
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)
Otros
GetFileName = " "
Terminará si...
Finalizar función
Función privada toByte( Str)
p>atenuar 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)< / p>
A bytes=A bytes ampchrB("H" ampiLow) y ampchrB("H" ampiHigh)
Otros
A bytes =A byte ampchrB(AscB(c ))
Terminará si...
Entonces
Finalizar función
Finalizar clase
FileInfo clase
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 = " "
Conector final
Función pública Guardar como (ruta completa)
dim dr, ErrorChar, I
Guardar como=1
Salga de la función si trim(ruta completa) = " " o FileSize=0 o FileStart=0 o FileName= " "
Salir si FileStart=0 o right(fullpath, 1)="/" Función
set dr= CrearObjeto("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;