Buscando el código fuente de un sitio web que pueda cargar novelas e imágenes
Este es el asp que uso. Las imágenes se almacenan en el archivo UpImages y los archivos de imágenes se almacenan en la base de datos. Además, puede agregar la conexión de datos usted mismo; <%@LANGUAGE=" VBSCRIPT" CODEPAGE="936"%>
Libros | Chongqing ICP No. 000**0 th> p>
<%
if request("action") = "Addnew "entonces p>
nueva línea = chrB(13) & chrB(10) 'la nueva línea representa el carácter de retorno de carro binario
filesize = Request.TotalBytes 'filesize es el tamaño de los datos del formulario
filedata = Request.BinaryRead(filesize) 'filedata son los datos binarios de la forma
divider = leftB(filedata,clng(instrb(filedata,newline))-1) 'divisor es el separador
Establecer Rs = Server.CreateObject("ADODB.RecordSet")
Sql="Seleccionar * De palabra"
Rs.Open Sql,conn, 3,3
Rs.addnew
k = 1
Mientras instrb(k,filedata,divider) < instrb((instrb(k,filedata,divider) )+lenb(divisor)) ,filedata,divisor)
inicio = instrb(k,filedata,divisor) + lenb(divisor) +2
endsize = instrb((instrb( k,filedata,divider) + lenb(divider)),filedata,divider) - start - 2
content = midb(filedata,start,endsize) 'Obtener la parte de descripción del archivo
start_name = instrb(content,toByte ("name="""))
end_name = instrb(start_name + 6,content,toByte(""""))
etiqueta de nombre = midb(content,start_name+6 ,end_name-start_name-6) 'Obtiene el contenido en name="" en la parte de descripción del archivo, es decir, el nombre del elemento del formulario
pos1_filename = instrb( end_name,content,toByte("filename=""") )
'Si es un cuadro de archivo, la parte de descripción del archivo debe ser filename="", entonces pos1_filename no es igual a 0<
/p>
Si pos1_filename = 0 Entonces 'Procesamiento de datos en el formulario que no pertenece a la carga del archivo
namevalue = toStr(midb(content,end_name+5,lenb(content)-end_name- 4)) 'Obtener contenido del archivo
' Compare el contenido en name="" en la parte de descripción del archivo con el nombre del elemento del formulario y agregue el contenido correspondiente a la base de datos
If(InStr(toStr (nametag),"file") > 0)Entonces 'CenterID2' es el valor del atributo de nombre del control de formulario, igual que a continuación
Rs("image") = valor de nombre
session(" CenterID") = namevalue 'Se utiliza en el nombre del archivo al guardar el archivo cargado
End If
If(InStr(toStr(nametag) ,"título") > 0)Entonces
Rs("título") = nombrevalor
si nombrevalor="" entonces
Respuesta.Escribir ""
response.end
end if
End If
If(InStr(toStr(nametag)," content") > 0)Then
Rs("content") = namevalue
if namevalue="" entonces
Response.Write ""
response.end
finalizar si
End If
If( InStr(toStr(nametag),"select") > 0)Then
Establecer Rs1 = Server.CreateObject("ADODB.RecordSet")
Sql="Seleccionar * De mun"
Rs1.Open Sql,conn,3,3
Rs1("mun")=nombrevalor
Rs1.update
Rs1 .Close
Establecer Rs1=nada
Finalizar si
Rs("wtime") = año(ahora )&"-"&mes(ahora)&" -"&día(ahora)
'Response.Write (nombrevalor)
'Response.Write("
")
else 'Procesar carga de archivo Datos parciales
pos2_filename = instrb(pos1_filename+10,content,toByte(""""))
fullpath = midb(content ,pos1_filename+10,pos2_filename-pos1_filename-10 ) 'Obtiene la ruta del archivo de la sección de descripción del archivo
covername=GetFileName(toStr(fullpath))
If(fullpath <> " ") Luego 'Si hay un archivo cargado, ejecute el siguiente código<
/p>
dim bStart 'Obtiene la posición inicial del archivo de flujo binario
bStart = instrb(start,filedata,newline&newline)+3
dim bEnd 'Obtiene el inicio posición del archivo de flujo binario Posición final
bEnd=inStrB(bStart+6,filedata,divider)-bStart-3
dim stm 'Define un objeto fuente adodb.stream stm para copiar archivos de secuencia binaria parte a otro adodb.stream fromStm
set stm=createObject("adodb.stream")
stm.type=1 ' Modo binario
stm mode=3 'Especifica el modo de apertura como lectura-escritura
stm.open
stm.write filedata 'Escribe contenido de secuencia binaria
dim fromStm. 'Defina el objeto de flujo adodb.fromStm, para guardar archivos
establecido fromStm=createOBject("adodb.stream")
con fromStm
.type=1
.mode=3
.open
stm.position = bStart ' Especifica la posición inicial del objeto stm, tomando el valor de la variable bStart como posición inicial
stm.copyTo fromStm, bEnd 'Copia la secuencia binaria stm al objeto fromStm, la longitud es la longitud de la variable bEnd
.saveTofile server.MapPath (nombre de portada) ,2' Guarde el archivo, si existe el mismo nombre, luego anule
.close
finalice con
set fromStm = nada
stm.close
set stm = nada
Rs("image") =covername 'Escribe la ruta relativa del archivo en la base de datos
end if
terminar si
k = instrb((instrb(k,filedata,divider)+lenb(divider)),filedata,divider)
Fin p>
Rs.update
Rs.close
establecer Rs = nada
respuesta.Redirect"mylife.asp"
finalizar si
función toStr(Byt) 'Convertir binario a cadena
toStr=""
para i=1 a lenb(byt)
golpe = midb(byt,i,1 )
si ascb(golpe)>127 entonces
toStr = toStr&chr(ascw(midb(byt,i+1, 1)&golpe)) '
i = i+1
else
toStr = toStr&chr(ascb(golpe))
fin if
Siguiente
Finalizar función
Función toByte(Str) 'Convertir cadena a binario
dim i,iCode,
c,iBajo,iAlto
toByte=""
Para i=1 a Len(Str)
c=mid(Str,i,1)
iCode =Asc(c)
Si iCode <0 entonces iCode = iCode + 65535
Si iCode>255 entonces
iLow = Izquierda(Hex(Asc(c)),2)
iAlto =Derecha(Hex(Asc(c)),2)
toByte = toByte & chrB("&H"&iBajo ) & chrB("&H"&iHigh)
Else
toByte = toByte & chrB(AscB(c))
Finalizar si
Siguiente
Finalizar función
Función GetFileName(imagespath)'Convierte la ruta a tiempo y hace que los archivos cargados no tengan nombres duplicados
Si imagespath <> " "Entonces
rname=right(toStr(fullpath),len(toStr(fullpath))-InStrRev(toStr(fullpath),".")+1)'Obtener el nombre del sufijo
GetFileName = "UpImages/" & año(ahora)&mes(ahora)&día(ahora)&hora(ahora)&minuto(ahora)&segundo(ahora)&rnombre
Else
GetFileName = ""
Finalizar si
Finalizar función
%>