Bueno .... en realidad, lo que quiero hacer el algo más complicado .... o al menos, eso creo yo!
Explico lo que hago:
1.- Tengo un formulario
2.- Al enviar, lo hace a una función JavaScript donde mediante AJAX es capaz de leer los campos del formulario, y envialo a ASPAdd.asp
3.- ASPadd.asp recibe los datos del formulario, e inserta un registro en una base de datos
4.- Una vez el registro se ha insertado correctamente, hace un Response.Redirect a otra página donde me lista el contenido de la tabla
Hasta el 4º paso, lo tengo todo OK.
Lo que quiero es saber si a partir de la ruta del fichero (que la recibe ASPadd.asp), puedo proceder a "copiar" el fichero a una ruta concreta dentro del servidor!
El form:
LA función AJAX:
Código AJAX:
Ver originalfunction cargaDocs(selectDestino,aspDestino)
{
ajax=nuevoAjax();
;
// Envio al servidor a que lea la página
var vv1 = document.getElementById('idtipodoc').value;
var vv2 = document.getElementById('fecha').value;
var vv3 = document.getElementById('idsolicitud').value;
var vv4 = document.getElementById('doc').value;
var vv5 = document.getElementById('ruta').value;
// alert(vv3);
vlink = "../documentos/listing.asp?idSolicitud=" + vv3;
var queryString = "&idtipodoc=" + vv1 + "&fecha=" + vv2 + "&doc=" + vv4 + "&ruta=" + vv5 + "&link=" + vlink;
alert(queryString);
ajax.open("GET", aspDestino+queryString, true);
ajax.onreadystatechange=function()
{
if (ajax.readyState==4)
{
// alert(ajax.responseText);
document.getElementById(selectDestino).innerHTML = ajax.responseText;
// var selected = document.getElementById(selectOrigen);
// document.getElementById(selectDestino).disabled=false ;
}
}
ajax.send(null);
}
La página que Inserta el registro ASPadd.asp
Código ASPadd:
Ver original<%@ Language=VBScript %>
<!-- #include file="../inc/javascript.asp" -->
<%on error resume next
Dim strLocation, iLength
Dim iFieldCount
Dim FirstHalfSQL, SecondHalfSQL, EndSQL
Dim SQLInsert
Set adoConnection = server.CreateObject("ADODB.Connection")
Set adoRS = server.CreateObject("ADODB.Recordset")
adoConnection.Provider = "Microsoft.Jet.OLEDB.4.0"
strLocation = Request.ServerVariables("PATH_TRANSLATED")
iLength = Len(strLocation)
iLength = iLength - 10
strLocation = Left(strLocation, iLength)
strLocation = strLocation & "../database/zsp_gest.mdb"
adoConnection.Open ("Data Source=" & strLocation)
iFieldCount = 0
FirstHalfSQL = "insert into [Documentos] ("
SecondHalfSQL = ") Values ("
EndSQL = ")"
sDefault = FirstHalfSQL & SecondHalfSQL & EndSQL
varLink = request("link")
if len(varLink) = 0 then
varLink = "../documentos/add.asp?successful=true"
varLink = "../documentos/getdata.asp"
end if
varLinkDup = "../documentos/add.asp?duplicatedata=true"
varLinkND = "../documentos/add.asp?nodata=true"
varLinkInv = "../documentos/add.asp?invaliddata="
varidTipoDoc = request("idTipoDoc")
If varidTipoDoc <> "" then
iFieldCount = iFieldCount + 1
On Error Resume Next
varidTipoDoc = CDbl(varidTipoDoc)
If Err.Number = 13 Then
response.redirect (varLinkInv & "Tipo de Documento")
End If
Err.Clear
On Error GoTo 0
If iFieldCount = 1 Then
FirstHalfSQL = FirstHalfSQL & "[idTipoDoc]"
SecondHalfSQL = SecondHalfSQL & varidTipoDoc
Else
FirstHalfSQL = FirstHalfSQL & ",[idTipoDoc]"
SecondHalfSQL = SecondHalfSQL & "," & varidTipoDoc
End If
End If
varfecha = request("fecha")
If varfecha <> "" then
iFieldCount = iFieldCount + 1
On Error Resume Next
varfecha = CDate(varfecha)
varfecha = CreaFecha(varfecha)
If Err.Number = 13 Then
response.redirect (varLinkInv & "Fecha")
End If
Err.Clear
On Error GoTo 0
If iFieldCount = 1 Then
FirstHalfSQL = FirstHalfSQL & "[fecha]"
SecondHalfSQL = SecondHalfSQL & "#" & varfecha & "#"
Else
FirstHalfSQL = FirstHalfSQL & ",[fecha]"
SecondHalfSQL = SecondHalfSQL & ",#" & varfecha & "#"
End If
End If
varDoc = request("Doc")
If varDoc <> "" then
iFieldCount = iFieldCount + 1
varDoc = Replace(varDoc, "'", "''")
If iFieldCount = 1 Then
FirstHalfSQL = FirstHalfSQL & "[Doc]"
SecondHalfSQL = SecondHalfSQL & "'" & varDoc & "'"
Else
FirstHalfSQL = FirstHalfSQL & ",[Doc]"
SecondHalfSQL = SecondHalfSQL & ",'" & varDoc & "'"
End If
End If
varRuta = request("Ruta")
If varRuta <> "" then
iFieldCount = iFieldCount + 1
varRuta = Replace(varRuta, "'", "''")
If iFieldCount = 1 Then
FirstHalfSQL = FirstHalfSQL & "[Ruta]"
SecondHalfSQL = SecondHalfSQL & "'" & varRuta & "'"
Else
FirstHalfSQL = FirstHalfSQL & ",[Ruta]"
SecondHalfSQL = SecondHalfSQL & ",'" & varRuta & "'"
End If
End If
varidSolicitud = request("idSolicitud")
If varidSolicitud <> "" then
iFieldCount = iFieldCount + 1
On Error Resume Next
varidSolicitud = CDbl(varidSolicitud)
If Err.Number = 13 Then
response.redirect (varLinkInv & "Solicitud")
End If
Err.Clear
On Error GoTo 0
If iFieldCount = 1 Then
FirstHalfSQL = FirstHalfSQL & "[idSolicitud]"
SecondHalfSQL = SecondHalfSQL & varidSolicitud
Else
FirstHalfSQL = FirstHalfSQL & ",[idSolicitud]"
SecondHalfSQL = SecondHalfSQL & "," & varidSolicitud
End If
End If
adoRS.ActiveConnection = AdoConnection
SQLInsert = FirstHalfSQL & SecondHalfSQL & EndSQL
If SQLInsert <> sDefault Then
On Error Resume Next
call adoRS.Open(SQLInsert)
If err.number = -2147467259 then
response.redirect(varLinkDup)
end if
On Error Goto 0
else
response.redirect(varLinkND)
end if
Response.redirect(varLink) %>