Subida de fichero
Publicado por Juggernautico (1 intervención) el 09/03/2007 14:36:24
Saludos.
Soy un programador novato en esto del visual basic. Normalmente busco todo lo que necesito para que funcionen mis programas. El problema es que con el último encargo estoy atascado, y en la red no hay soluciones satisfactorias.
Os comento: tengo que enviar a un servidor una consulta con un par de variables, y además un fichero xml adjunto. El servidor valida las variables (como si fueran un password, pero en modo POST), y dentro del fichero van unos valores de selección que utiliza para crear un fichero xml que me devuelve.
Ahora viene el asunto: si uso UploadFile de WebClient, pues solo subo el fichero, y da error. Si uso UploadData, el fichero que envío no es considerado como un fichero adjunto, sino como más texto, y el servidor me dice que no se ha enviado el fichero adjunto.
Ah, solo tengo que utilizar visual basic.net, nada de asp, javas ni otros temas (de los que sí que hay soluciones en la red).
Parte del código va aquï (no funciona del todo):
Dim LogInURL As String = "http://fieldclimate.com/pikernel/xml_metlink.php"
Dim WebCliente As New System.Net.WebClient
WebCliente.Headers.Add("Content-Type", "application/x-www-form-urlencoded")
Dim dirXML As String = "C:\pc_stations.xml"
Dim ASCIIEncoding As New System.Text.ASCIIEncoding
Dim PostData As Byte() = ASCIIEncoding.GetBytes("username=******&password=*******&")
Dim xmlDoc As New XmlDocument
xmlDoc.Load("C:\pc_stations.xml")
Dim fichero As Byte() = ASCIIEncoding.GetBytes(xmlDoc.OuterXml)
Dim aux As Byte()
ReDim aux(PostData.Length + fichero.Length - 1)
PostData.CopyTo(aux, 0)
fichero.CopyTo(aux, PostData.Length)
Dim resultHTML As String = ASCIIEncoding.GetChars(WebCliente.UploadData(LogInURL, "POST", aux))
'Dim resultHTML As String = ASCIIEncoding.GetChars(WebCliente.UploadFile(LogInURL, "POST", dirXML))
'WebCliente.DownloadFile(LogInURL, "salida.xml")
CajaSalida.Text = resultHTML
Gracias por adelantado...
Soy un programador novato en esto del visual basic. Normalmente busco todo lo que necesito para que funcionen mis programas. El problema es que con el último encargo estoy atascado, y en la red no hay soluciones satisfactorias.
Os comento: tengo que enviar a un servidor una consulta con un par de variables, y además un fichero xml adjunto. El servidor valida las variables (como si fueran un password, pero en modo POST), y dentro del fichero van unos valores de selección que utiliza para crear un fichero xml que me devuelve.
Ahora viene el asunto: si uso UploadFile de WebClient, pues solo subo el fichero, y da error. Si uso UploadData, el fichero que envío no es considerado como un fichero adjunto, sino como más texto, y el servidor me dice que no se ha enviado el fichero adjunto.
Ah, solo tengo que utilizar visual basic.net, nada de asp, javas ni otros temas (de los que sí que hay soluciones en la red).
Parte del código va aquï (no funciona del todo):
Dim LogInURL As String = "http://fieldclimate.com/pikernel/xml_metlink.php"
Dim WebCliente As New System.Net.WebClient
WebCliente.Headers.Add("Content-Type", "application/x-www-form-urlencoded")
Dim dirXML As String = "C:\pc_stations.xml"
Dim ASCIIEncoding As New System.Text.ASCIIEncoding
Dim PostData As Byte() = ASCIIEncoding.GetBytes("username=******&password=*******&")
Dim xmlDoc As New XmlDocument
xmlDoc.Load("C:\pc_stations.xml")
Dim fichero As Byte() = ASCIIEncoding.GetBytes(xmlDoc.OuterXml)
Dim aux As Byte()
ReDim aux(PostData.Length + fichero.Length - 1)
PostData.CopyTo(aux, 0)
fichero.CopyTo(aux, PostData.Length)
Dim resultHTML As String = ASCIIEncoding.GetChars(WebCliente.UploadData(LogInURL, "POST", aux))
'Dim resultHTML As String = ASCIIEncoding.GetChars(WebCliente.UploadFile(LogInURL, "POST", dirXML))
'WebCliente.DownloadFile(LogInURL, "salida.xml")
CajaSalida.Text = resultHTML
Gracias por adelantado...
Valora esta pregunta


0