AJAX BLOB-Bild laden

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

  • AJAX BLOB-Bild laden

    hi!

    folgendes problem:

    hab ne html seite mit nem button.
    bei klick auf diesen soll mittels ajax eine php-seite aufgerufen werden, die aus einer db (oracle) ein blob-bild ausliest.
    dieses bild soll in der aufrufenden seite mit dem button angezeigt werden.

    bis jetzt krieg ich das aber weder binär noch schön als bild hin... krieg was in der art:

    GIF89aN-

    schon mal gesehen?
    und wenn ja, kann mir jemand nen tipp geben (link???)

    dank ead

  • #2
    header('Content-type: ...');

    Aber dein AJAX-Script muß die Antwort auch entsprechend verarbeiten.

    Kommentar


    • #3
      Du musst keinen Ajax-Request absetzen, sondern dynamisch ein IMG-Tag erzeugen!

      Kommentar


      • #4
        JO STIMMT...

        In der Art:

        HTML-Code:

        PHP-Code:
        <div id="x" id="name">
        <
        a href="javascript:zeige_bild()">Zeig das Bild</a>
        </
        div>  
        <
        div id="Bild"></div
        JavaScript-Funktion:

        PHP-Code:
        function zeige_bild(){
        document.getElementById("Bild").innerHTML "<img src='sendimage.php?img=geniales_logo.gif' />";  

        Klappt jetzt ganz gut :-)


        Eine Frage noch:
        Das Bild wird erst nach Anklicken von "Zeig das Bild" aus der Datenbank gelesen richtig?

        Kommentar


        • #5
          Beim ersten Mal schon, denn da war vor dem Klick das img gar nicht im DOM-Baum, der Browser kannte die src-URL nicht. Aber bei jedem weiteren Mal könnte das Bild auch aus dem Browsercache kommen, abhängig von den Headers, die sendimage.php geschickt hat.

          Kommentar


          • #6
            Alles klar!

            Dann passt das ja.

            Geht mir nur dadrum, dass ein Benutzer nicht zu lange warten muss, wenn ein Bild vllt. etwas größer ist und er es aber unter Umständen gar nicht sehen will/muss.

            Wenn er es aber tatsächlich sehen will, muss er klicken und dann erst ein bisschen länger warten...


            OK, dann vielen Dank für die Hilfe!

            EAD

            Kommentar


            • #7
              Original geschrieben von onemorenerd
              Aber bei jedem weiteren Mal könnte das Bild auch aus dem Browsercache kommen, abhängig von den Headers, die sendimage.php geschickt hat.
              nicht unbedingt - macht man bsp
              PHP-Code:
              <img src="logo.php?time=<?=time()?>">
              wird im norm fall der browsercache nicht genutzt, da das ende des src immer anders ist ;-)
              Signatur-Text ...

              Kommentar


              • #8
                Den Trick mit time() braucht man eigentlich nur für Browser, die sich nicht an die mitgesendeten Header halten. Da dieser Trick auch den anderen, den "guten" Browsern nicht schadet, bekommen es einfach alle.
                Aber dennoch sollte man auch die richtigen Header mitsenden!

                Kommentar

                Lädt...
                X