¿Cómo implementa ASP la carga sin componentes?
' Guarde los datos del archivo cargado en la base de datos y puede procesar varios formularios de archivos cargados
' Adecuado para varias bases de datos, utilice el método ADO para conectarse a la base de datos
' p>
' Base de datos ACCESS utilizada en este ejemplo: zj.mdb
' Tabla: tb_img (id int (columna de incremento automático), texto de ruta (255) Directorio para guardar los archivos cargados
', fname text(250) guarda el nombre del archivo cargado, type test(250) guarda el tipo de archivo cargado
', img ole object guarda el contenido del archivo cargado
'
'' ' >>p>
'======================== ========= ====================================
'======= =========================================== ===
'
' Página HTML para cargar archivos: zj_up.htm
'
'======== ========================================== ========== ====== ===
Código:
lt;htmlgt;
lt;headgt;
lt;titlegt ; Subir archivos y guardarlos en la base de datoslt;/titlegt;
lt;/headgt;
lt.bodygt;
lt; nombre del formulario="form1" enctype="multipart/form-data" método="post" action="zj_up.asp"gt
lt; lt; tipo de entrada="archivo" nombre= "archivo"gt;
lt; tipo de entrada="enviar" nombre="Enviar" valor="Cargar"gt;
lt ;/pgt;
lt;/formgt;
lt;/bodygt;
lt;/htmlgt
'== ========== ========================================= ========== ====
'
' Cargar archivo guardar página ASP para guardar el archivo cargado en la base de datos: zj_up.asp
'
'====================================== =========== ==================
Código:
lt;
Response.Expires=0 p>
Función f_Bin2Str(ByVal sBin)
Dim iI, iLen, iChr, iRe
iRe = "" p>
Si no es IsNull(sBin) entonces
iLen = LenB(sBin)
Para iI = 1 a iLen
iChr = Mid
B(sBin, iI, 1)
Si AscB(iChr) gt; entonces
iRe = iRe amp(AscW(MidB(sBin, iI 1, 1) amp; ; iChr))
iI = iI 1
Else
iRe = iRe amp;Chr(AscB(iChr))
Fin If
Siguiente
Fin Si
f_Bin2Str = iRe
Fin de función
iConcStr = "Provider=Microsoft .Jet.OLEDB.4.0;Persist Security Info=False" y _
";Data Source=" y server.mappath("zj.mdb")
iSql= "tb_img"
set iRe=Server.CreateObject("ADODB.Recordset")
iRe.Open iSql, iConcStr, 1, 3
iLen=Solicitud .TotalBytes
sBin=Request.BinaryRead(iLen)
sBin=Request.BinaryRead(iLen)BinaryRead(iLen)
iCrlf1 = ChrB(13) amp ; ChrB(10)
iCrlf2 = iCrlf1 & iCrlf1
iLen = InStrB(1, sBin, iCrlf1) - 1
iSpc = LeftB(sBin, iLen )
sBin = MidB(sBin, iLen 34)
iPos1 = InStrB(sBin, iCrlf2) - 1
Mientras iPos1 gt 0
iStr = f_Bin2Str(LeftB(sBin, iPos1))
iPos1 = iPos1 5
iPos2 = InStrB(iPos1, sBin, iSpc)
iPos3 = InStr(iStr, "; nombre de archivo=""") 12
Si iPos3 gt 12 Entonces
iStr = Mid(iStr, iPos3)
iPos3; = InStr(iStr, Chr(13) & Chr(10) & " Tipo de contenido: ")- 2
iFn = Left(iStr, iPos3)
If iFn lt; gt; "" Entonces
iRe.AddNew
iRe("path")=left(iFn, instrrev(iFn, "" ))
iRe( "fname") = mid(iFn, instrrev(iFn, "") 1)
iRe("tipo") = Mid(iStr, iPos3 18)
iRe ("img ").Agregar fragmento
MidB(sBin, iPos1, iPos2 - iPos1)
iRe.Update
Finalizar si
Finalizar si
sBin = MidB(sBin , iPos2 iLen 34)
iPos1 = InStrB(sBin, iCrlf2) - 1
Wend
iRe.Update