Avatar billede cht Nybegynder
28. juli 2002 - 10:13 Der er 17 kommentarer og
1 løsning

Billeder i MySQL database

Er det muligt at gemme billeder i en MySQL database og evt. hvordan?
Avatar billede eagleeye Praktikant
28. juli 2002 - 11:23 #1
Her er et eks, de bruger godt nok Access som eks men datatypen i kolonnen skal være binært: http://stardeveloper.com:8080/articles/033101-1.shtml
Avatar billede cht Nybegynder
28. juli 2002 - 11:35 #2
Det virker desværre ikke til MySQL, der må være en anden måde hvis man skal bruge MySQL og ikke Access (mdb)
Avatar billede eagleeye Praktikant
28. juli 2002 - 11:43 #3
Dette eks er med MySQL men det er PHP kode: http://www.phpbuilder.com/columns/florian19991014.php3
Avatar billede eagleeye Praktikant
28. juli 2002 - 11:54 #4
Umiddelbart ville jeg tro det var det samme kode +/- lidt SQL ('/# ved tal og dato), om man brugte Access, Oracle, MySQL, MSSSQL. Det var bare et spørgssmål om at lave tabellen med de ritige data typer.

PHP igen: http://www.devarticles.com/content.php?articleId=68&page=1

Jeg kan ikke rigtig finde noget omkring ASP. Prøv at søge på google.com jeg har prøvet søge på :  store image MySQL ASP 
Smat insert i stedet for store.
Avatar billede mickni33 Nybegynder
28. juli 2002 - 13:40 #5
Hvad hvis man har billederne liggende i en mappe og så opbevare stien til billederne i databasen ??
Avatar billede cht Nybegynder
28. juli 2002 - 14:29 #6
Den kan ikke rigtig bruges, billederne skulle gerne gemmes i MySQL databasen, men ellers var forslaget da fint nok :-)
Avatar billede mickni33 Nybegynder
28. juli 2002 - 14:42 #7
Har fundet lidt her se om du kan bruge det. Nederst på siden

http://www.mysql.com/doc/E/N/ENUM.html

Emz Kolin: How will i use insert to store a large data, i.e. a picture, in mysql using blob type?

Emz Kolin: How will i use insert to store a large data, i.e. a picture, in mysql using blob type?

Jason Sibre: For information about inserting binary data into BLOB columns, see section '6.1.1.1 - Strings'

Víctor Ponz: If you want to insert an image in a BLOB field you must do: 1.- To insert the image in the field:
?php $filename = "25.gif"; // your filename
$fd = fopen ($filename, "r");
$contents = fread ($fd, filesize ($filename));
fclose ($fd);
$contents = addslashes($contents);
$conex = mysql_connect ("localhost", "root", "");
mysql_select_db($db, $conex);
$sSql = "insert into TABLE (FIELD) values ('" . $contents . "')";
$result = mysql_query($sSql, $conex);

2.- To retrieve the image:
php header ("Content-type: image/gif");
$conex = mysql_connect ("localhost", "root", "");
mysql_select_db($db, $conex);
$sSql = "SELECT FIELD FROM TABLE";
$result = mysql_query($sSql, $conex);
$row = mysql_fetch_array($resultado, MYSQL_ASSOC);
ob_start();
echo $row['IMAGEN'];
ob_end_flush();
3- If you want to include the image in an HTML page, just include an IMG Tag (supossing you have saved the script above as get_image.php) like this:
<img src='get_image.php'>
Avatar billede cht Nybegynder
28. juli 2002 - 15:35 #8
Min server understøtter slet ikke php og jeg ved ikke hvordan om jeg kan installere php på min server, der kører Windows 2000. Jeg har også lavet resten i asp, så jeg vil ikke begynde at bruge php.
Avatar billede mickni33 Nybegynder
28. juli 2002 - 15:37 #9
Nååå det var nu heller ikke så meget det, men mere det der står om den der BLOB type
Avatar billede cht Nybegynder
28. juli 2002 - 15:55 #10
ok, men jeg kan vidst ikke få lavet noget asp-kode jeg kan bruge vha. det. Mit problem er kun at jeg ikke ved hvilken kode jeg skal bruge til at indsætte billeder (binære data) i feltet BLOB.
Avatar billede eagleeye Praktikant
28. juli 2002 - 16:07 #11
har du prøvet at downloade kode i mit første link. Du skal så rette Connection til at passe med MySQL og du skal oprette en tabel men følgende kolonne:
ID : autonumber    ; i MySQL:  int auto_increment not null
File name : Text    ; i MySQL:  varchar(50)
File size : Int    ; i MySQL:  int
File data : OLE-obj ; i MySQL:  longblob
Content type : Text ; i MySQL:  varchar(50)
Avatar billede mickni33 Nybegynder
28. juli 2002 - 16:10 #12
var variable="binærKode"
insertStreng="insert into Table(AttributNavn) values("+variable+")";
objConnection.Execute(insertStreng);
Avatar billede cht Nybegynder
28. juli 2002 - 16:33 #13
Jeg har oprettet databasen, tabellen og feltet filedata, som er af typen longblob (binary). Problemet er at man ikke bare kan bruge nedenstående:

Set fso = CreateObject("Scripting.FileSystemObject")
Set Txt = fso.OpenTextFile( server.mappath("file1.jpg"), 1 )
If NOT txt.AtEndOfStream then msg = bin2text(Txt.ReadAll)
Txt.Close

    SQL = "INSERT INTO images (filedata) VALUES (" & msg & ")"

    Set Conn = Server.CreateObject("ADODB.Connection")
    Conn.Open strConn

    Conn.Execute SQL

    Conn.Close
    Set Conn = Nothing

Så kommer den med følgende fejl:

Microsoft OLE DB Provider for ODBC Drivers fejl '80040e09'

[TCX][MyODBC]You have an error in your SQL syntax near '' at line 1

/mysql/gemfil.asp, line 73
Avatar billede mickni33 Nybegynder
28. juli 2002 - 16:37 #14
prøv at tage ' med
SQL = "INSERT INTO images (filedata) VALUES (' " & msg & " ')"
Avatar billede cht Nybegynder
28. juli 2002 - 16:56 #15
Så skriver den følgende fejlmeddelelse i stedet for:

Microsoft OLE DB Provider for ODBC Drivers fejl '80040e09'

[TCX][MyODBC]You have an error in your SQL syntax near '' ÿØÿà' at line 1

/mysql/t.asp, line 73
Avatar billede mickni33 Nybegynder
29. juli 2002 - 09:25 #16
hmmm mystisk
OK hva med at prøve noget helt andet....
Prøv at lave en anden database og se om du kan ligge en simpel streng ned i en tabel....
Så ved du da at der ikke er et eller andet helt galt
Avatar billede cht Nybegynder
30. juli 2002 - 12:18 #17
Med Access kan jeg sagtens, men den samme kode virker ikke med MySQL.

Her er koden der virker med Access (mdb):

        Const adTypeBinary = 1
        Set objStream = Server.CreateObject("ADODB.Stream")
        objStream.Open
        objStream.Type = adTypeBinary
        objStream.LoadFromFile Server.Mappath("fil.gif")

            Set rs = Server.CreateObject("ADODB.Recordset")
            rs.Open "binarydb", strConn, 2, 2
            rs.AddNew
                rs("writer") = session("navn")
                rs("filedata").AppendChunk objStream.Read
            rs.Update
           
            rs.Close
            Set rs = Nothing
        objStream.Close
        Set objStream = Nothing
Avatar billede cht Nybegynder
17. januar 2003 - 21:02 #18
-
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester