2009-05-22 5 views
0

Ich arbeite an einer mobilen Anwendung in .NET. Dies ist eine Windows Mobile-Anwendung. Ich habe ein Problem in dieser Anwendung, dass ich ein Bild/eine Datei auf eine gegebene URL/Server hochladen möchte. Viele Upload-Klassen verwenden nicht wie Webclient,WebRequest,WebResponse. Ich benutzte HttpWebReques, das verbindet sich nicht mit dem Server.Bilder in Windows Mobile 6 in .net hochladen

Kann mir jemand helfen, wie die Bilder auf bestimmte URL in Windows Mobile 6 in .NET hochladen?

Antwort

0

Nicht sicher, was Sie genau mit dem Hochladen von Bildern auf eine bestimmte URL meinen. Sicherlich benötigen Sie einen Listener oder etwas auf Ihrem Server, um die Bilddaten empfangen zu können.

Sie könnten einen .NET-Web-Service, mit einer Funktion erstellen, die ein byte [] Eingabeparameter Ihre Bilddaten zu laden, auf dem Server und Hinweis, dass in der Anwendung Windows Mobile.

0

Können Sie den Servercode auch ändern? Wenn ja, gibt es noch ein paar andere Möglichkeiten.

könnten Sie speichern die Bilder in einer Datenbank (SQL Server Compact Edition) und dann Synchronization Services verwenden.

Sie WCF verwenden könnte, die Daten zu übertragen (für mobile Sie zwei WCF Optionen, Web-Service und Nachricht ... Sie können Nachricht für diese möchten).

0

Der Zielserver sollte eine Webseite haben, die das Bild ausschließt, wenn es angezeigt wird. Öffnen Sie einen Dateistream, laden Sie das Bild in einem Bytepuffer in den Speicher. Verwenden Sie die Dateiinfo, um Details wie die Länge zu erhalten, die Sie später benötigen. Öffnen Sie einen Binärleser und lesen Sie das Bild in den Puffer. Öffnen Sie eine WebRequest.Create mit Ihrer URL, setzen Sie die Methode auf posten, nice long timeout, request.content length auf die Länge des Byte-Puffers, öffnen Sie eine Instanz eines Streams zu Ihrer Instanz der request.GetRequestStream(). Wie so .. Erstellen Sie einen Binär-Writer mit dem Stream, schreiben Sie den Filebuffer, schließen Sie sie, öffnen Sie die Web-Antwort, starten Sie einen Stream-Reader zu GetResponseStream und überprüfen Sie die empfangenen Bytes entsprechen, was Sie gesendet haben. Ich habe bei EggheadCafe einen schönen Code unter Datentransfer gefunden.

Verwandte Themen