Visual Basic - Subida de fichero

Life is soft - evento anual de software empresarial
 
Vista:

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...
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder