> Tak vil gerne have et eksempel.
OK. På serveren placeres en form-behandler, som fanger filer der postes.
Bemærk, at jeg har kun taget det essentielle med, i praksis er det nok en
god ide at sikre sig, at filer kommer fra rette afsender og eventuelt
kryptere filnavn, data og eventuelle info. Form-behandleren ser således ud:
<%@ Page Language="VB" %>
<%@ Import Namespace="System.IO" %>
<script language="VB" runat="server">
Sub Page_Load()
Dim i As Integer
Dim MyFileCollection As HttpFileCollection = Request.Files
For i = 0 To MyFileCollection.Count - 1
If MyFileCollection(i).ContentLength > 0 Then
Try
MyFileCollection(i).SaveAs(MyFileCollection(i).FileName)
litReturn.Text += "OK" & ControlChars.CrLf
Catch E As Exception
litReturn.Text += "Exception saving file on server: " & E.Message &
ControlChars.CrLf
End Try
Else
litReturn.Text += "Error: Zero-length file posted." & ControlChars.CrLf
End If
Next
End If
End Sub
</script>
<ASP:Literal id="litReturn" runat="server" />
Robotten, der sender filer, er en løkke byggeet op omkring
Dim MyWebClient As New WebClient
Dim strStatus As String
For Each ...
strStatus += Encoding.ASCII.GetString(myWebClient.UploadFile(uriString,
"POST", strFilnavn)) & ControlChars.CrLf
Next ...
Der kan eventuelt sendes information om filen med ved at tilføje
Dim myQueryStringCollection As New NameValueCollection()
myQueryStringCollection.Add("Key", HttpUtility.UrlEncode("Value"))
myQueryStringCollection.Add("AnotherKey", HttpUtility.UrlEncode("Value"))
myWebClient.QueryString = myQueryStringCollection
inden kaldet til myWebClient.UploadFile.
Selv har jeg lavet min robot som en lille Windows Forms program, der kan
afvikles via opgavestyring, så filerne postes automatisk med faste
intervaller og dermed opdaterer webserveren.
Kim