Image aus ByteArray

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • Image aus ByteArray

    Ich habe ein Bild in ein ByteArray geschrieben. dann die einzelnen bytes per HTTPrequest an eine PHP-Datei geschickt.

    Jetzt habe ich in der PHP-Datei ein array. Kann ich daraus auch wieder ein Bild erzeugen?

  • #2
    dann die einzelnen bytes per HTTPrequest an eine PHP-Datei geschickt.
    Ohne die Bytes mittels base64_encode() bearbeitet zu haben, wirst du auf dem Server wohl nur Schrott erhalten haben.
    Mittels implode() kannst du ein Array zu einem String zusammenfügen und den dann an eine Bildfkt übergeben.
    Aber wieso überhaupt so kompliziert ? Warum nicht einfach das Bild mittels eines Upload Forms an den Server schicken ?

    Gruss

    tobi
    Gutes Tutorial | PHP Manual | MySql Manual | PHP FAQ | Apache | Suchfunktion für eigene Seiten

    [color=red]"An error does not become truth by reason of multiplied propagation, nor does truth become error because nobody sees it."[/color]
    Mohandas Karamchand Gandhi (Mahatma Gandhi) (Source)

    Kommentar


    • #3
      ich kann ja mal bissel weiter ausholen:

      Ich bastel an einem Image Upload Tool. Welches auch soweit ganz gut funktioniert. Jetzt möchte ich aber mir die Uploadgeschwindigkeit anzeigen lassen.
      Dazu will ich das Bild welches 1.000.000 byte (1 MB) groß ist, aufteilen und in mehreren Schritten übertragen, so kann ich dann die Uploadgeschwindigkeit berechnen.

      siehe --> http://www.java-forum.org/de/topic49...oad-speed.html

      Aber was meinst du mit an eine Bildfkt übergeben?

      Kommentar


      • #4
        tobi: warum schrott?

        http://de2.php.net/manual/en/functio...fromstring.php

        Kommentar


        • #5
          Hi,
          Aber was meinst du mit an eine Bildfkt übergeben?
          Na ja, aus den Bilddaten mittels einer Image-Funktion ein Image erzeugen halt. Schau mal hier .

          LG

          Kommentar


          • #6
            Es geht doch gar nicht um dynamische Bilderzeugung ... sondern nur um einen Upload in mehreren "Häppchen". Da reicht es dann doch wohl aus, die einzelnen Häpchen nacheinander in eine Datei zu schreiben, und schon hat man wieder ein Bild.
            I don't believe in rebirth. Actually, I never did in my whole lives.

            Kommentar


            • #7
              @penizilin
              Müssen denn binäre Daten nicht erst mittels base64_encode() bearbeitet werden bevor sie via htttp übertragen werden ? Oder gilt das nur für Emails ?
              @topicstarter
              implodiere deinen Array, übergib den String an die von penizilin vorgeschlagene Funktion und schau was rauskommt.
              imho dürfte das Bild nicht korrekt dargestellt werden

              Grus


              tobi
              Gutes Tutorial | PHP Manual | MySql Manual | PHP FAQ | Apache | Suchfunktion für eigene Seiten

              [color=red]"An error does not become truth by reason of multiplied propagation, nor does truth become error because nobody sees it."[/color]
              Mohandas Karamchand Gandhi (Mahatma Gandhi) (Source)

              Kommentar


              • #8
                schau mal mit einem http-sniffer, was bei so einem upload passiert - der browser macht sich natürlich nicht den stress, die dateigröße um 33 prozent zu erhöhen...

                und hey - emails und http?

                Kommentar


                • #9
                  das was "wahsaga" meint, habe ich eigentlich vor.
                  doch wie schreibe ich die einzelnen Häppche in eine Bilddatei?

                  Kommentar


                  • #10
                    fopen + fwrite + fclose

                    Kommentar


                    • #11
                      so in der art?

                      PHP-Code:
                      foreach ($_POST as $k => $v) {
                        
                      $dateiname "img.jpg";            
                        
                      $fp fOpen($dateiname "a+");     
                        
                      fWrite($fp $v);             
                        
                      fClose($fp);                 

                      da bekomm ich nur eine datei mit der ich nichts anfangen kann!?

                      Kommentar


                      • #12
                        da bekomm ich nur eine datei mit der ich nichts anfangen kann!?
                        Heisst?

                        Vergleich mal das Original mit dem Ergebnis.

                        Kommentar


                        • #13
                          PHP-Code:
                          $dateiname "img.jpg";           
                          $fp fOpen($dateiname "w+");      

                          foreach (
                          $_POST as $k => $v) {
                            
                          fWrite($fp $v);             
                          }

                          fClose($fp); 
                          nur mal korrektur gelesen


                          //edit:
                          es könnte nämlich ganz einfach sein, das du 3 bilder in eine datei gepackt hast, weil du einfach immer an die img.jpg angehängt hast. Wäre verständlich wenn das kein funktionierendes Bild gibt.

                          Kommentar


                          • #14
                            zeig mal vor allem print_r($_POST).

                            Kommentar


                            • #15
                              print_r($_POST); gibt folgendes aus: (entspricht dem, was auch in java ausgegeben wird, wenn ich mir das ByteArray auslese)

                              PHP-Code:
                              Array
                              (
                                  [
                              0] => -1
                                  
                              [1] => -40
                                  
                              [2] => -1
                                  
                              [3] => -32
                                  
                              .
                                  .
                                  .
                                  [
                              1344] => -1
                                  
                              [1345] => -39

                              Kommentar

                              Lädt...
                              X