Πώς μπορείτε να εμφανίσετε εικόνες που είναι αποθηκευμένες σε ένα πεδίο BLOB


Σύνοψη


Χρησιμοποιώντας τις ενεργές σελίδες διακομιστή (ASP), μπορείτε να προβάλετε τις εικόνες που είναι αποθηκευμένες σε πεδία BLOB (δυαδικό μεγάλο αντικείμενο) στο πρόγραμμα περιήγησης στο Internet. Αυτό το άρθρο παρέχει πληροφορίες σχετικά με τον τρόπο με τον οποίο μπορείτε να εμφανίσετε μια εικόνα GIF αποθηκευμένη στον πίνακα δείγματος βάσης δεδομένων του Microsoft SQL Server pub_info.

Περισσότερες πληροφορίες


Τα περισσότερα προγράμματα περιήγησης στο Internet υποστηρίζουν την εμφάνιση εικόνων GIF και JPEG. Για να εμφανίσετε μια εικόνα, το πρόγραμμα περιήγησης ζητά την εικόνα από ένα διακομιστή Web. Ο διακομιστής μεταβιβάζει την εικόνα στο πρόγραμμα περιήγησης ως συναλλαγή HTTP με μια κεφαλίδα HTTP που περιέχει έναν τύπο MIME IMAGE/GIF ή IMAGE/JPEG. Μπορείτε να προσομοιώσετε αυτήν τη συμπεριφορά με τις ενεργές σελίδες διακομιστή. Το παρακάτω παράδειγμα κατασκευάζει μια κεφαλίδα HTTP για μια εικόνα και, στη συνέχεια, χρησιμοποιεί τις δυαδικές πληροφορίες από ένα πεδίο εικόνας στον SQL Server για να παρέχει ένα GIF στο πρόγραμμα περιήγησης.
   FILE: SHOWIMG.ASP   <%@ LANGUAGE="VBSCRIPT" %>   <%   ' Clear out the existing HTTP header information   Response.Expires = 0   Response.Buffer = TRUE   Response.Clear   ' Change the HTTP header to reflect that an image is being passed.   Response.ContentType = "image/gif"   Set cn = Server.CreateObject("ADODB.Connection")   ' The following open line assumes you have set up a System DataSource   ' by the name of myDSN.   'Remember to change the following connection string parameters to reflect the correct values   'for your SQL server.   cn.Open "DSN=myDSN;UID=<username>;PWD=<strong password>;DATABASE=pubs"   Set rs = cn.Execute("SELECT logo FROM pub_info WHERE pub_id='0736'")   Response.BinaryWrite rs("logo")   Response.End   %>
Αυτή η δέσμη ενεργειών εμφανίζει μόνο μια εικόνα στην οθόνη. Εάν θέλετε να εμφανίσετε μια εικόνα από ένα έγγραφο HTML ή ASP, πρέπει να ανατρέξετε σε αυτή τη δέσμη ενεργειών σε μια ετικέτα εικόνας. Για παράδειγμα, εάν επιθυμούσατε να εμφανιστεί αυτή η εικόνα με μια λεζάντα που την περιγράφει, μπορείτε να χρησιμοποιήσετε την ακόλουθη σελίδα HTML:
   <HTML>   <HEAD><TITLE>Display Image</TITLE></HEAD>   <BODY>   This page will display the image New Moon Books from a SQL Server   image field.<BR>   <IMG SRC="SHOWIMG.ASP">   </BODY>   </HTML>
Σημείωση Η δέσμη ενεργειών ASP υποθέτει ότι το πεδίο εικόνας (δεδομένα BLOB) στον πίνακα του SQL Server περιέχει μια ακατέργαστη εικόνα GIF. Τα προγράμματα περιήγησης στο Internet προϋποθέτουν ότι τα ανεπεξέργαστα δεδομένα GIF ή JPEG ακολουθούν την κεφαλίδα HTTP. Εάν τυχόν ξένες πληροφορίες περιέχονται στα δεδομένα BLOB , αυτό θα περάσει από αυτή τη δέσμη ενεργειών και η εικόνα δεν θα εμφανίζεται σωστά. Αυτό γίνεται σημαντικό όταν αντιλαμβάνεστε ότι οι περισσότερες μέθοδοι τοποθέτησης εικόνων σε πεδία BLOB τοποθετούν επιπλέον πληροφορίες με τη μορφή κεφαλίδων με την εικόνα. Παραδείγματα αυτού είναι η Microsoft Access και το Microsoft Visual FoxPro. Και οι δύο αυτές εφαρμογές αποθηκεύουν κεφαλίδες OLE στο πεδίο BLOB μαζί με τα πραγματικά δυαδικά δεδομένα. Αυτή η τεχνική μπορεί επίσης να εφαρμοστεί και σε άλλους τύπους δυαδικών δεδομένων, όχι μόνο σε γραφικά. Το πρόγραμμα περιήγησης πρέπει να γνωρίζει τον τύπο περιεχομένου που παρουσιάζεται. Για να το κάνετε αυτό, καθορίστε τον κατάλληλο τύπο MIME στη μεταβλητή Response. ContentType. Για παράδειγμα, εάν θέλετε να προβάλετε ένα έγγραφο του Word, θα πρέπει να καθορίσετε το ContentType = "εφαρμογή/MsWord".

Αναφορές


Για τα πιο πρόσφατα άρθρα της Γνωσιακής βάσης και άλλες πληροφορίες υποστήριξης σχετικά με τις οπτικές InterDev και τις ενεργές σελίδες διακομιστή, ανατρέξτε στην ακόλουθη σελίδα στην τοποθεσία τεχνικής υποστήριξης της Microsoft: