Flashhilfe.de - Flash Community

Bitmapdata/Bitmap an Server senden [Flash 10]

 


AntwortenRegistrieren Seite1  

tobi-848#1
Benutzerbild von tobi-848
Beiträge: 43
Wohnort: Schweiz
Registriert: Oct 2010

11.04.2011, 17:26

Hallo zusammen

Normalerweise lade ich Bilder über eine Filereferenz anhand der upload-Methode auf den Server.

Jetzt möchte ich die Bilder jedoch zuerst komprimieren. Das Problem ist nur, dass fileref.data schreibgeschützt ist und das ByteArray nicht einfach wieder dort hinein gespeichert werden kann.

Kennt jemand von euch weitere Möglichkeiten die Bilder auf den Server zu verlagern?

Danke
Werbung
Beiträge: 0
Registriert: Feb 2016


cedddy#2
Benutzerbild von cedddy
Beiträge: 572
Registriert: May 2007

11.04.2011, 18:55

du kannst das ganze an php senden per URLLoader einfach mal googlen oder hier im forum suchen
Bitte keine pn´s wegen irgendwelchen fragen zu Threads, dafür gibt es sie ja schließich
tobi-848#3
Benutzerbild von tobi-848
Beiträge: 43
Wohnort: Schweiz
Registriert: Oct 2010

Themenautor/in

12.04.2011, 14:14

Hallo

Habe nur Ansätze gefunden und mit dem Code massig Compilermeldungen produziert:

http://www.actionscript.org/forums/archive/index.php3/t-130537.html
http://blog.joa-ebert.com/2006/05/01/save-bytearray-to-file-with-php/
http://www.quietless.com/kitchen/upload-bitmapdata-snapshot-to-server-in-as3/
http://stackoverflow.com/questions/5556302/as3-stage-to-jpg-byte-array-to-server-side-php-problems

Für die oben beschriebenen Blogs wird meistens nur ein Dateityp hochgeladen. In meinem Falle müsste zwischen image/jpg, image/gif usw. unterschieden werden.

Was ich suche ist nicht eine fertige Klasse, sondern ein simpler Codeaufbau, der das ByteArray mit einer POST-Variable an den Server sendet.

Danke für eure Hinweise.
cedddy#4
Benutzerbild von cedddy
Beiträge: 572
Registriert: May 2007

12.04.2011, 16:22

ja... ein bsp
ActionScript:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
package {
    import flash.display.Sprite;
    import flash.net.URLLoader;
    import flash.net.URLRequest;
    import flash.net.URLRequestMethod;
    import flash.display.BitmapData;
    import flash.utils.ByteArray;
    import com.adobe.images.JPGEncoder;
 
    public class ByteArraySendExample extends Sprite {
      public function  ByteArraySendExample() {
        var url:String = "http://www.[yourDomain].com/receiveFile.php";
        var someBitmapData:BitmapData = new BitmapData();//let say we have some bitmapdata

        //using the jpeg encoder from the core library
      var jpgEncoder:JPGEncoder = new JPGEncoder(80);
        var myByteArray:ByteArray = jpgEncoder.encode(someBitmapData);
 
        var request:URLRequest = new URLRequest(url);
        request.method = URLRequestMethod.POST;
 
        request.data = myByteArray;
        var loader:URLLoader = new URLLoader();
 
        loader.load(request)
     }
    }
}
Bitte keine pn´s wegen irgendwelchen fragen zu Threads, dafür gibt es sie ja schließich
Werbung
Beiträge: 0
Registriert: Feb 2016


tobi-848#5
Benutzerbild von tobi-848
Beiträge: 43
Wohnort: Schweiz
Registriert: Oct 2010

Themenautor/in

13.04.2011, 07:49

Möchte die Daten über die $_FILES-Variable erhalten und nicht über $HTTP_RAW_POST_DATA. Ausserdem möchte ich keine "as3corelib" oder andere externen Klassen verwenden.

Ist das überhaupt realisierbar?

Gruss
tobi-848#6
Benutzerbild von tobi-848
Beiträge: 43
Wohnort: Schweiz
Registriert: Oct 2010

Themenautor/in

13.04.2011, 09:18

Habe jetzt folgendes Script

ActionScript:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
import com.adobe.images.JPGEncoder
import flash.net.navigateToURL;
import flash.text.TextField;
import flash.events.MouseEvent;


var bitmapData:BitmapData = new BitmapData(80, 30, false, 0xFFCC00);
var rect:Rectangle = new Rectangle(10, 10, 40, 10);
bitmapData.fillRect(rect, 0xFF0000);

var encode:JPGEncoder = new JPGEncoder(100);
var byteArray:ByteArray = encode.encode(bitmapData);

//Flash -> PHP
this.URLrequest = new URLRequest("http://host/requests.php");
this.variables = new URLVariables();
this.variables.part = "upload";
this.variables.img = byteArray;

this.URLrequest.method = URLRequestMethod.POST;
this.URLrequest.contentType = "multipart/form-data";
this.URLrequest.data = this.variables;

var txt:TextField = new TextField()
txt.text = "load";
addChild(txt);
txt.addEventListener(MouseEvent.CLICK, goTo);

function goTo(event:MouseEvent) {
     navigateToURL(this.URLrequest, "_blank");
}


Danach erhalte ich folgenden Fehler

PHP:
1
2
Warning: Missing boundary in multipart/form-data POST data in Unknown on line 0

AntwortenRegistrieren Seite1  

Schnellantwort

Du musst registriert sein, um diese Funktion nutzen zu können.

 
Ähnliche Beiträge zum Thema
Partner Webseiten: art-and-law.de  Mediengestalter.info   php-resource.de   phpforum.de   phpwelt.de   Pixelio.de   Scubacube.de  
Haftungsausschluss   Datenschutzerklärung   Hier Werben   Impressum
© 1999-2019 Sebastian Wichmann - Flashhilfe.de