Om jag vill posta en bild och lite text till en asp sida på en annan server via http post hur går jag tillväga då? i vb6 har jag använt mig av msxml men hur gör man i asp.net? uj, det var en knepig men ändå knäpp fråga. Varför skicka en bild via en url? Eller menar du bara namnet? Webbservice är annars parollordet om du skall dela med dig av information från en site till en annan. Det jag vill åstadkomma är alltså att skicka en bild till en asp,php eller liknande sida på en annan server. På servern ska man sedan kunna ta emot bilden med t.ex aspupload (www.aspupload.com) och lägga in bilden på servern. Jag vill även skicka med lite text som ska kunna tas emot som exempel request.form("text"). Om du har lust kan du ta och skaffa programmet www.ethereal.com som är en gratis nätverkssniffer. Dra igång det och ladda upp en valfri liten fil. Titta sedan exakt vad som skickades. Där ser du exakt hur du ska göra :) Jag vill automatisera detta så data skickas automatiskt:posta bild och data vis http
Det jag vill åstadkomma är alltså att skicka en bild och lite text till en aspsida på en annan server.
Jag såg något liknande i detta inlägg men vill också skicka med en bild:
http://www.pellesoft.se/communicate/forum/view.aspx?msgid=103808
någon som har något litet exempel? Sv: posta bild och data vis http
Sv:posta bild och data vis http
Jag vill kunna göra detta med automatik alltså inte genom att en användare fyller i ett formulär.
Jag har gjort detta i vb6 med hjälp av msxml men vill nu göra detta i asp.net, var det en bättre förklaring?Sv: posta bild och data vis http
Sedan när du gjort det kan du titta på Systen.Net.WebRequest resp. Response-klasserna som ger dig möjlighet att använda hela http-protokollet.Sv:posta bild och data vis http
<form action ="http://localhost/receiver.asp" method = POST>
<input type = text name = value>
<input type = FILE name = uploadfile>
<input type=submit>
</form>
Jag har börjat med att bara skicka själva texten, filen tar jag senare.
Här är min aspx sida som skickar data till recevier.asp, på recevier.asp tar jag emot data och lägger in den i en databas, men jag får det inte riktigt att fungera. Jag får inga felmeddelande eller liknande men saken är den att jag inte får med några värden.
Om jag kör med req.ContentType = "application/x-www-form-urlencoded" fungerar det men när jag ändrar till req.ContentType = "multipart/form-data, boundary=AaB03x" för att det ska fungera att skicka med filer så fungerar det inte.
Någon som kan se vad jag gör för fel?
<%@import namespace="System.Net" %>
<%@import namespace="System.Web" %>
<%@import namespace="System.IO" %>
<%@import namespace="System.Text.ASCIIEncoding" %>
<script runat="server">
sub Page_Load(obj as object, e as eventargs)
Dim datatosend As String
datatosend = "--AaB03x" & vbCrLf & _
'"Content-Disposition: form-data; name=Value1" & vbCrLf & vbCrLf & _
'"Värde" & vbCrLf & _
'"--AaB03x--" & vbCrLf
Dim sURL As String = "http://mindomän/receiver.asp"
Dim req As HttpWebRequest = CType(WebRequest.Create(sURL),HttpWebRequest)
req.ContentType = "multipart/form-data, boundary=AaB03x"
req.Method = "POST"
Dim arrBytes as byte() = ASCII.GetBytes(datatosend)
req.ContentLength = arrBytes.Length
Dim newStream as Stream = req.GetRequestStream()
newStream.Write(arrBytes, 0, arrBytes.Length)
newStream.Close()
Dim resp as WebResponse = req.GetResponse()
Dim respStream as Stream = resp.GetResponseStream()
Dim rdr As StreamReader = New StreamReader( respStream, System.Text.Encoding.ASCII )
Dim strResponse as string = rdr.ReadToEnd()
response.write(strResponse)
end sub
</script>