Wie gebe ich ein Bild von Flash zu ASP.NET?
Schnelle version:
Wie bekomme ich ein Bild, das generiert wurde auf der Benutzer-browser zurück an den server?
Den aktuellen plan ist dieser:
- Der Flash-Entwickler, konvertieren von bitmap zu JPEG
- Er wird dann nach dem JPEG zu einer Seite auf der Website.
- Ich denke ich kann ein
WebService
die eineStreamReader
zu Lesen der post und als Datei zu speichern.
Wäre, dass die Arbeit? Alle vorhandenen code/Beispiele dafür?
Ich denke, wir sollten in der Lage sein, zu betrachten-code für das tun eine Datei hochladen ASP.NET.
- Ist das AS2 oder AS3 ?
- Dies wäre AS3.
Du musst angemeldet sein, um einen Kommentar abzugeben.
In diesem Beispiel, ich habe eine Flash Datei mit einer Schaltfläche auf der Bühne. Wenn Sie auf diesen button klicken, wird der Blitz sendet das Bild der Schaltfläche, um eine ASPX-Datei, die speichert es als JPEG. Wie Sie sehen werden, dies geschieht durch die Zeichnung der
DisplayObject
in eineBitmapData
- Objekt und als solches, können Sie leicht ersetzen Sie den Verweis auf die Taste mit nichts erbtDisplayObject
(darunter ein Film-clip mit der Leinwand für ein paint etc).Ich werde gehen Sie durch die Flash-element zuerst, und dann das .NET backend.
Flash
Senden ein Bild erzeugt, wie dies von Flash zu ASP.NET (oder irgendein anderes backend) Sie gehen zu müssen, um ein paar 3rd-party-Bibliotheken. Wir benötigen ein JPEG-Encoder (die Flash nicht haben, aber die jüngsten Versionen des Flex-tun), die wir bekommen können, aus den AS3-Core Lib http://code.google.com/p/as3corelib/. Wir müssen auch einen base64-encoder für das senden der Daten über den Draht. Ich werde die benutzen, die von Dynamic Flash -, erhältlich bei http://dynamicflash.com/goodies/base64/.
Laden Sie diese herunter und extrahieren Sie Sie irgendwo, vernünftig auf Ihrer Festplatte (wie ein C:\lib Ordner).
Ich habe einen neuen AS3-Flash-Datei und speichert diese als uploader.fla -. Ich habe eine button-Komponente auf die Bühne und nannte es btnUpload. Als Nächstes bearbeitete ich die ActionScript-Einstellungen Hinzugefügt und meine c:\lib Ordner dem Klassenpfad. Dann gab ich das Dokument der name einer Klasse von Uploader und die Datei gespeichert.
Als Nächstes erstellte ich eine ActionScript-Datei, und Hinzugefügt, den folgenden code hinzu:
Ich diese Datei gespeichert neben dem FLA-mit dem Namen Uploader.als.
Veröffentlichte ich die SWF in die root meiner Asp.NET website.
Dieser code setzt Voraus, die Sie hochladen möchten das jpeg mit einer Qualität von 100% und das Skript, das erhalten der Daten bezeichnet man als upload.aspx und befindet sich im Stammverzeichnis der Website.
ASP.NET
In die root meiner Webseite, die ich erstellt ein Formular namens hochladen.aspx. In der .aspx-Datei, die ich entfernt alle Inhalte, abgesehen von der page-Direktive. Es ist der Inhalt wie folgt Aussehen:
Dann in der CodeBehind habe ich noch folgende:
Gibt es natürlich hart codierten Werten wie der Pfad speichern, aber Sie sollten in der Lage sein zu erstellen, egal welches system Sie benötigen.
trace
Anruf in deronClick
von der Taste zu sehen, dass es brennen die Veranstaltung? Haben Sie schaute auf die Ereignisse derURLLoader
zu sehen, wenn Sie irgendwelche Fehler? Haben Sie verwendet ein HTTP-debugger, um zu sehen, wenn der Antrag gemacht wird?Wenn Sie brauchen, um zu manipulieren das Bild, so lange wie Sie können, get ein byte[] oder ein Stream von die Geposteten Datei, die Sie erstellen können, ein Bild davon, z.B.
Haben Sie ihm die post die Dateien wie ein standard-HTML-Formular. Sie können auf diese Dateien in das Page_Load-Ereignis der Seite ist er die Buchung mittels der folgenden Auflistung
Anfrage.Dateien
Diese Rückkehr wird eine Sammlung von HttpPostedFiles genau wie das, was ein FileUpload-Steuerelement unterstützt.