Hallo zusammen
Ich habe es bereits geschafft dass ich eine FORM via POST ausfüllen und absenden kann.
Nun habe ich noch eine weitere Hürde. Ich muss ein Bild uploaden. Auch via FORM in HTML.
Der HTML Code sieht folgendermassen aus:
<form NAME="myform" METHOD="POST" ACTION="/dyn/upload" _
ENCTYPE="multipart/form-data">
<input TYPE="hidden" NAME="cmd" VALUE="fileUpload">
<input TYPE="hidden" NAME="DBKey" VALUE="2192827">
<input TYPE="FILE" NAME="FILE1" SIZE=40>
<input TYPE="text" NAME="DBEmail" SIZE=40 MAXLENGTH=60 _
VALUE="meine@mailadresse.ch"><br>
<input TYPE="password" NAME="DBPwd" SIZE=10 MAXLENGTH=12 VALUE="meinpasswort">
<INPUT TYPE="Submit" NAME="mysubmit" VALUE="Bild hochladen">
</form> Mein Code womit ich eine Form via POST versendet habe sieht so aus:
Public Function DoUrlEncodeRequest(ByVal DBColumn As String, ByVal DBType As _
String, ByVal DBDetail As String, ByVal DBRegion As String, ByVal DBCondition _
As String, ByVal DBTitle As String, ByVal DBText As String, ByVal DBPrice As _
String, ByVal DBEmail As String) As String
Dim enc As System.Text.Encoding = System.Text.Encoding.Default
AddVal("DBColumn", DBColumn, enc)
AddVal("DBType", DBType, enc)
AddVal("DBDetail", DBDetail, enc)
AddVal("DBRegion", DBRegion, enc)
AddVal("DBCondition", DBCondition, enc)
AddVal("DBTitle", DBTitle, enc)
AddVal("DBText", DBText, enc)
AddVal("DBPrice", DBPrice, enc)
AddVal("DBEmail", DBEmail, enc)
AddVal("mysubmit", "inzufügen >", enc)
Return UrlEncodePostRequest("http://www.gratis-inserate.ch/dyn/add", _
requestString, enc)
End Function
Private requestString As String = ""
Private Sub AddVal(ByVal name As String, ByVal value As String, ByVal enc _
As System.Text.Encoding)
If requestString <> "" Then
requestString += "&"
End If
requestString += name & "=" & System.Web.HttpUtility.UrlEncode(value, _
enc)
End Sub
Private Function UrlEncodePostRequest(ByVal url As String, ByVal data As _
String, ByVal enc As System.Text.Encoding) As String
Application.DoEvents()
Dim req As HttpWebRequest = CType(WebRequest.Create(url), _
HttpWebRequest)
req.Method = "POST"
Dim bdata() As Byte = enc.GetBytes(data)
req.ContentType = "application/x-www-form-urlencoded; charset=" & _
enc.WebName
req.ContentLength = bdata.Length
req.KeepAlive = False
Dim out As Stream = req.GetRequestStream()
out.Write(bdata, 0, bdata.Length)
out.Close()
Dim resp As WebResponse = req.GetResponse()
Dim sr As New StreamReader(resp.GetResponseStream(), enc)
Dim res As String = sr.ReadToEnd()
sr.Close()
resp.Close()
Return res
End Function Nun wie kann ich ein Foto, welches lokal auf meiner Festplatte liegt, via POST an die oben gepostete FORM senden, und zugleich noch das Passwort eintragen und allenfalls die Mailadresse?
Ich habe schon bei google gesucht, allerdings habe ich nichts brauchbares gefunden.
Vielen Dank für eure Hilfe.
Gruss Raffi |