Avatar billede decrypto Nybegynder
11. april 2005 - 16:07 Der er 72 kommentarer og
1 løsning

Hvordan lægger et billede ind i MySQL DB?

Jeg har behov for:

1. At vide hvordan, jeg smider et billede ind i en database, og her tænker jeg ikke på en URL, men et fysisk billede ind fx et *.jpg fil

2. Hvordan kan jeg hente det billede ud, og vise det på en side (jeg koder i c# og .NET).

3. Jeg har forsøgt at eksportere mine data fra min lokale MySQL database og i en MySQL hos min hosting bureau. Her har jeg lavet et SQL script men jeg får en fejl i 'DEFAULT CHARSET=latin1, når jeg forsøger at køre scriptet hos min remote MySQL, et eller andet med versioner??? Hvad er der galt her? Nr jeg eksportere data på den måde, får jeg så al min billede data med???
Avatar billede arne_v Ekspert
11. april 2005 - 16:38 #1
re 1 & 2)

MySQL connector for .NET, BLOB felt, MySqlCommand med Parameters.

Jeg har et C# eksempel som må kune give dig de rigtige ideer:

using System;
using System.Threading;
using System.Data;
using ByteFX.Data.MySqlClient;

public class PicTestThread
{
    private int n;
    private int npics;
    private int picsize;
    public PicTestThread(int n, int npics, int picsize)
    {
        this.n = n;
        this.npics = npics;
        this.picsize = picsize;
    }
    public void Run()
    {
        PicTest.CheckN(n, npics, picsize);
    }
}

public class PicTest
{
    private const int N = 10000;
    public static void CreateTable(int npics, int picsize)
    {
        MySqlConnection con = new MySqlConnection("Database=Test;Data Source=localhost;User Id=;Password=");
        con.Open();
        MySqlCommand cre = new MySqlCommand("CREATE TABLE pics (id INTEGER PRIMARY KEY, pic MEDIUMBLOB)", con);
        cre.ExecuteNonQuery();
        MySqlCommand ins = new MySqlCommand("INSERT INTO pics VALUES (@id, @pic)", con);
        ins.Parameters.Add("@id", MySqlDbType.Int);
        ins.Parameters.Add("@pic", MySqlDbType.MediumBlob);
        for(int i = 0; i < npics; i++)
        {
            ins.Parameters["@id"].Value = i;
            byte[] data = new Byte[picsize];
            for(int j = 0; j < picsize; j++)
            {
                data[j] = (byte)((i + j) % 256);
            }
            ins.Parameters["@pic"].Value = data;
            ins.ExecuteNonQuery();
        }
        con.Close();
    }
    public static void CheckOne(int id, int picsize)
    {
        MySqlConnection con = new MySqlConnection("Database=Test;Data Source=localhost;User Id=;Password=");
        con.Open();
        MySqlCommand sel = new MySqlCommand("SELECT pic FROM pics WHERE id = " + id, con);
        byte[] data = (byte[])sel.ExecuteScalar();
        if(data.Length != picsize)
        {
            Console.WriteLine("picture #" + id + " corrupted");
        }
        for(int j = 0; j < data.Length; j++)
        {
            if(((id + j) % 256) != data[j])
            {
                Console.WriteLine("picture #" + id + " corrupted");
            }
        }
        con.Close();
    }
    public static void DropTable()
    {
        MySqlConnection con = new MySqlConnection("Database=Test;Data Source=localhost;User Id=;Password=");
        con.Open();
        MySqlCommand drp = new MySqlCommand("DROP TABLE pics", con);
        drp.ExecuteNonQuery();
        con.Close();
    }
    public static void CheckN(int n, int npics, int picsize)
    {
        Random rng = new Random();
        for(int i = 0; i < n; i++)
        {
            int id = rng.Next(npics);
            CheckOne(id, picsize);
        }
    }
    public static void CheckTest(int nthreads, int npics, int picsize)
    {
        long t1 = DateTime.Now.Ticks;
        PicTestThread[] ptt = new PicTestThread[nthreads];
        Thread[] thr = new Thread[nthreads];
        for(int i = 0; i < thr.Length; i++)
        {
            ptt[i] = new PicTestThread(N/nthreads, npics, picsize);
            thr[i] = new Thread(new ThreadStart(ptt[i].Run));
        }
        for(int i = 0; i < thr.Length; i++)
        {
            thr[i].Start();
        }
        for(int i = 0; i < thr.Length; i++)
        {
            thr[i].Join();
        }
        long t2 = DateTime.Now.Ticks;
        Console.WriteLine(nthreads + " conc reqs, " +
                          npics + " pics in db, " +
                          picsize/1000 + " KB pics => " +
                          N/((t2 - t1) / 1000000.0) + " pics/sec");
    }
    public static void Main(string[] args)
    {
        int[] npics = { 250, 500, 1000 };
        int[] picsize = { 50000 /*, 100000, 200000 */ };
        int[] nthreads = { 10, 20, 40 };
        for(int i = 0; i < npics.Length; i++)
        {
            for(int j = 0; j < picsize.Length; j++)
            {
                CreateTable(npics[i], picsize[j]);
                for(int k = 0; k < nthreads.Length; k++)
                {
                    CheckTest(nthreads[k], npics[i], picsize[j]);
                }
                DropTable();
            }
        }
    }
}
Avatar billede arne_v Ekspert
11. april 2005 - 16:39 #2
Det er en performance test, men du kan se både INSERT og SELECT.
Avatar billede decrypto Nybegynder
11. april 2005 - 16:42 #3
All right...kigger på det...
Avatar billede codebase Praktikant
11. april 2005 - 16:46 #4
bare drop 'DEFAULT CHARSET=latin1', du skulle meget gerne få dine billeder med anyway. Det er noget der er komet til i mysql version 4.1
Avatar billede decrypto Nybegynder
11. april 2005 - 16:50 #5
Hvad med de andre punkter??
Avatar billede decrypto Nybegynder
11. april 2005 - 16:52 #6
Jo, men jeg har ingen billeder nu, og forsøger bare at flytte mine lokale data over på mit site, og det er her jeg får en fejl i DEFAULT CHARTSET= latin1. Jeg gider ikke at oprette hele min database og smide data ind from scratch. Er der nogen, der har en ide om, hvordan jeg får flyttet min data?
Avatar billede arne_v Ekspert
11. april 2005 - 16:53 #7
Jeg har ingen anelse om #3.

Kan du ikke mysqldump'e, editere dump fil og loade dump fil ?
Avatar billede codebase Praktikant
11. april 2005 - 16:58 #8
som jeg husker det, er det kun tabelstrukturen der giver dig problemer. Hvis du kun overføre data skulle der ikke være nogle problemer.

jeg har selv lige været igennem 50 databaser, hvor jeg brugte nested sql til at konventere nogle data, struktur og brugte derfor version 4.1. Herefter brugte jeg dump af data (kun data) tilbage til en version 4.0.
Avatar billede decrypto Nybegynder
11. april 2005 - 17:00 #9
Hvad er ByteFX? using ByteFX.Data.MySqlClient; svarer vel til using MySql.Data.MySqlClient; hos mig....
Avatar billede decrypto Nybegynder
11. april 2005 - 17:02 #10
Jeg har forsøgt at editere, men problemet er at jeg ikke ved hvad jeg skal editere til. Da det er DEFAULT CHARSET, der giver problemer, skal jeg vel bare vide hvad latin1 skal erstattes med.  Jeg har søgt på nettet men uden held.
Avatar billede arne_v Ekspert
11. april 2005 - 17:02 #11
Ja.

ByteFX var et seperat produkt som MySQL "overtog".

Samme kode, samme klasser, samme metoder - men namespace skal lige ændres.
Avatar billede codebase Praktikant
11. april 2005 - 17:11 #12
En tabel struktur i version 4.1
CREATE TABLE `eZArticle_Article` (
  `ID` int(11) NOT NULL auto_increment,
  `Name` varchar(100) default NULL,
  `Contents` text,
  `ContentsWriterID` varchar(100) default NULL,
  `LinkText` varchar(50) default NULL,
  `AuthorID` int(11) NOT NULL default '0',
  `Modified` varchar(25) default NULL,
  `Created` varchar(25) default NULL,
  `PageCount` int(11) default NULL,
  `Published` varchar(100) default NULL,
  `Keywords` text,
  `Discuss` int(11) default '0',
  `IsPublished` int(11) default NULL,
  PRIMARY KEY  (`ID`)
) ENGINE=MyISAM DEFAULT CHARSET=latin1 AUTO_INCREMENT=181 ;
       
samme i 4.0
CREATE TABLE `eZArticle_Article` (
  `ID` int(11) NOT NULL auto_increment,
  `Name` varchar(100) default NULL,
  `Contents` text,
  `ContentsWriterID` varchar(100) default NULL,
  `LinkText` varchar(50) default NULL,
  `AuthorID` int(11) NOT NULL default '0',
  `Modified` varchar(25) default NULL,
  `Created` varchar(25) default NULL,
  `PageCount` int(11) default NULL,
  `Published` varchar(100) default NULL,
  `Keywords` text,
  `Discuss` int(11) default '0',
  `IsPublished` int(11) default NULL,
  PRIMARY KEY  (`ID`)
) TYPE=MyISAM AUTO_INCREMENT=181 ;
       


Så bare fjern:  DEFAULT CHARSET=latin1

:)
Avatar billede decrypto Nybegynder
11. april 2005 - 17:14 #13
Vi prøver....:o)
Avatar billede decrypto Nybegynder
11. april 2005 - 17:16 #14
Kan jeg egetligt smide et billede manuelt ind i en MySQL database. Et eller andet a  la drag billede ind i MySQL front fx. og slip billedet i tabel feltet.????
Avatar billede codebase Praktikant
11. april 2005 - 17:18 #15
er det et nyt spørgsmål :)? nej, det tror jeg ikke du kan....
Avatar billede decrypto Nybegynder
11. april 2005 - 18:18 #16
Ok. Jeg har fået flyttet tabeller + data. No Problem.
Det med drag ´n drop, mente jeg ikke bogstavligt. Men jeg tænkte mere på at hælde noget billede data ind i tabel ved kun at bruge et MySQL GUI som MySql Front eller Sqlyog, det må vel kunne lade sig gøre.
Avatar billede decrypto Nybegynder
11. april 2005 - 20:22 #17
jeg ved at dette spørgsmål ikke skal stilles her men....

File or assembly name MySql.Data, or one of its dependencies, was not found.
Description: An unhandled exception occurred during the execution of the current web request. Please review the stack trace for more information about the error and where it originated in the code.

Exception Details: System.IO.FileNotFoundException: File or assembly name MySql.Data, or one of its dependencies, was not found.

Jeg har nemlig flyttet min kode hos mit remote sted, og jeg mistænker at der ikke er en forbindelse mellem min kode og MySQL databasen. Hvad kan jeg gøre?
Avatar billede arne_v Ekspert
11. april 2005 - 20:27 #18
MySQL dll filen skal kopieres med op til bin dir på dit web hotel !
Avatar billede arne_v Ekspert
11. april 2005 - 20:28 #19
MySql.Data.dll
Avatar billede decrypto Nybegynder
11. april 2005 - 21:10 #20
all right
Avatar billede decrypto Nybegynder
14. april 2005 - 21:19 #21
Jeg er kommet tættere på en løsning på dette. Jeg skal lige hjælpes resten af vejen.

Jeg får bøvl med denne linje...

while (rdr.Read())
    {
    ProductData p = new ProductData();
    p.ProductId    =  (int) rdr["product_id"];
    p.ProductName  =  (string) rdr["product_name"];
    p.ProductPrice =  Convert.ToDecimal(rdr["product_price"]);
err ->    p.ProductPhoto =  Convert.ToByte(rdr["photo_data"]);
    arrLstProduct.Add(p);
    }

dbCon.DbClose();

Jeg får en "Object cannot be cast from DBNull to other types.", men henter jeg ikke data ud når min SQL streng ser således ud?

string strSql = "SELECT product.id AS product_id, product.name AS product_name, product.price AS product_price, photo.photo_data FROM product INNER JOIN photo ON (product.photo_id = photo.id)WHERE  (NAME LIKE '%%')ORDER BY NAME;";
return arrLstProduct;
Avatar billede decrypto Nybegynder
14. april 2005 - 21:20 #22
Sql kommer naturligvis før jeg behandler data.
Avatar billede arne_v Ekspert
14. april 2005 - 21:23 #23
Et af felterne har en NULL værdi !
Avatar billede arne_v Ekspert
14. april 2005 - 21:25 #24
Erstat:

etobjekt = (entype)rdr[felt];

med:

if(rdr.IsDBNull(felt))
{
    etobjekt = etellerander;
}
else
{
    etobjekt = (entype)rdr[felt];
}
Avatar billede arne_v Ekspert
14. april 2005 - 21:26 #25
Og den har drillet mange før dig !

Men hvilken værdi skal den f.eks. give en int hvis databasen indeholder NULL ?

Det er programmøren nødt til at tage stilling til.
Avatar billede decrypto Nybegynder
14. april 2005 - 21:27 #26
Men der kommer jo billede data ud...
Avatar billede arne_v Ekspert
14. april 2005 - 21:29 #27
De har valgt at være konsekvente.

Programmøren skal håndtere NULL uanset om det er en type som kan være null eller ej.
Avatar billede decrypto Nybegynder
14. april 2005 - 21:29 #28
Men jeg har også prøvet:

p.ProductPhoto    = (byte)(rdr["photo_data"]);
Avatar billede decrypto Nybegynder
14. april 2005 - 21:30 #29
og så får jeg en "Specified cast is not valid."
Avatar billede decrypto Nybegynder
14. april 2005 - 21:30 #30
Okay, jeg prøver lige....
Avatar billede arne_v Ekspert
14. april 2005 - 21:31 #31
(byte[])rdr[felt]

men test med IsDBNull først
Avatar billede decrypto Nybegynder
14. april 2005 - 21:35 #32
Men hvad kan man sætte det til hvis det er NULL

if(rdr.IsDBNull(product_photo))
{
  p.ProductPhoto = etellerander????;
}
else
{
  p.ProductPhoto = Convert.ToByte(rdr["photo_data"]);
}
Avatar billede arne_v Ekspert
14. april 2005 - 21:40 #33
Et byte array med et billede med "Intet billede" som tekst !?

null og test på det senere !?
Avatar billede decrypto Nybegynder
14. april 2005 - 21:48 #34
ihhhh jeg er lidt lam til det, jeg har ikke rigtig fundet ud af at erklære arrays og sætte indhold i.

Men

byte[] Billeddata = new byte();
Billeddata.????("Intet billede", 0);

Er vel lidt tæt på eller hvad?
Avatar billede decrypto Nybegynder
14. april 2005 - 22:28 #35
ArrayList arrLstProduct = new ArrayList();
byte[] Billeddata = new byte[]{"Intet billede"};

while (rdr.Read())
    {
    ProductData p = new ProductData();
    p.ProductId      =  (int) rdr["product_id"];
    p.ProductName    =  (string) rdr["product_name"];
    p.ProductPrice  =  Convert.ToDecimal(rdr["product_price"]);
    if(rdr.IsDBNull(rdr["photo_data"]))
        {
          p.ProductPhoto = Billeddata[0];
        }
        else
        {
          p.ProductPhoto =  Convert.ToByte(rdr["photo_data"]);
        }
    }

Har jeg prøvet med, men får masser af fejl. Jeg tror "byte[] Billeddata = new byte[]{"Intet billede"};" ikke rigtig, og jeg får:

c:\inetpub\wwwroot\wwwbutikdk\Class\Product.cs(61): Cannot implicitly convert type 'string' to 'byte'
\Product.cs(69): The best overloaded method match for 'MySql.Data.MySqlClient.MySqlDataReader.IsDBNull(int)' has some invalid arguments
\Product.cs(69): Argument '1': cannot convert from 'object' to 'int'

i ind pastede kode.
Avatar billede arne_v Ekspert
14. april 2005 - 22:39 #36
Du har taget det lidt for bogstaveligt.

Jeg mente at du havde et rigtigt billede f.eks. JPG med en baggrund og teksten
"Intet billede" og så læste du det ind og brugte de bytes de steder hvor
der ikke er et billede.
Avatar billede decrypto Nybegynder
14. april 2005 - 22:42 #37
Ja, ok. Men det billede jeg bruger nu, er et billede hvorpå der står "Billed på vej".
Avatar billede decrypto Nybegynder
14. april 2005 - 22:43 #38
Det er et billede jeg også henter fra basen. Men måske skal jeg indlæse det billede i en byte på en eller anden måde udenom database eller hvad?
Avatar billede arne_v Ekspert
14. april 2005 - 22:44 #39
Hvis der er et bilede bør:

p.ProductPhoto =  (byte[])rdr["photo_data"];

hente det
Avatar billede decrypto Nybegynder
14. april 2005 - 22:48 #40
while (rdr.Read())
    {
        ProductData p = new ProductData();
      p.ProductId    =  (int) rdr["product_id"];
      p.ProductName      =  (string) rdr["product_name"];
      p.ProductPrice  =  Convert.ToDecimal(rdr["product_price"]);
     
*???-->    if(rdr.IsDBNull(rdr["photo_data"]))
        {
          p.ProductPhoto = >>indlæs et billede fra disk????<<;
        }
        else
        {
          p.ProductPhoto  =  Convert.ToByte(rdr["photo_data"]);
        }
}

*Er det korrekt?
Avatar billede decrypto Nybegynder
14. april 2005 - 22:49 #41
Også behøver jeg ikke at tjekke på IsDBnull...
Avatar billede decrypto Nybegynder
14. april 2005 - 22:50 #42
p.ProductPhoto =  (byte[])rdr["photo_data"]; //Giver følgende kompileringsfejl:

\Product.cs(68): Cannot implicitly convert type 'byte[]' to 'byte'
Avatar billede arne_v Ekspert
14. april 2005 - 23:10 #43
øh

p.ProductPhoto er vel ikke en byte ??

(skal den ikke være byte[] - du kan da ikke gemme et helt billede i en byte)
Avatar billede decrypto Nybegynder
14. april 2005 - 23:27 #44
okay så er der noget jeg har misforstået. Jeg troede man kunne gemme et billede ind i et byte.

Hvordan kan jeg så gemme den? Jeg ville nemlig bruge p.ProductPhoto til at "udskrive" billedet i mit præsentationslag.
Avatar billede arne_v Ekspert
14. april 2005 - 23:29 #45
en byte er et tal mellem 0 og 255 (begge inkl.)

du kan gemme et billede i et byte array altså byte[]
Avatar billede decrypto Nybegynder
14. april 2005 - 23:32 #46
Okay. Hvordan loader jeg så et billede ind i et byte array? Mit billede er vel på en eller anden måde data i rdr["photo_data"] fra basen, ikk?
Avatar billede decrypto Nybegynder
14. april 2005 - 23:33 #47
Så det gælder vel bare mig at få rdr["photo_data"] ned i et byte array.
Avatar billede arne_v Ekspert
14. april 2005 - 23:35 #48
Hvis p.ProductPhoto er et byte array så bare:

p.ProductPhoto =  (byte[])rdr["photo_data"];
Avatar billede decrypto Nybegynder
14. april 2005 - 23:39 #49
okay...

private byte[] _ProductPhoto;

//Property
public byte[] ProductPhoto
  {
    get    { return _ProductPhoto;}
    set    { _ProductPhoto = value;}
  }

Er ovenstående det rene volapyk?
Avatar billede decrypto Nybegynder
14. april 2005 - 23:40 #50
Ovenstående giver ingen kompilerings fejl (HURRA).....men :-( giver runtime fejl.

System.InvalidCastException: Specified cast is not valid. at System.Convert.ToByte(Object value) at System.Data.Common.ByteStorage.Set(Int32 record, Object value) at System.Data.DataColumn.set_Item(Int32 record, Object value)Couldn't store <System.Byte[]> in Billede Column. Expected type is Byte.

Siger det dig noget??
Avatar billede decrypto Nybegynder
14. april 2005 - 23:43 #51
foreach(ProductData p in ProductArray)
{
    dr = dt.NewRow();

    dr[0] = p.ProductId.ToString();
    dr[1] = p.ProductName.ToString();
    dr[2] = p.ProductPrice.ToString();
*-->    dr[3] = p.ProductPhoto;
    dt.Rows.Add(dr);
}

*Giver fejl når jeg vil pakke det og vise det i en datagrid.
Avatar billede decrypto Nybegynder
14. april 2005 - 23:44 #52
måske skal jeg også konvertere det explisit til byte.
Avatar billede decrypto Nybegynder
14. april 2005 - 23:46 #53
...jeg tror problemet er her ->

dt.Columns.Add(new DataColumn("Billede", typeof(byte)));
Avatar billede arne_v Ekspert
14. april 2005 - 23:46 #54
Den har vist fået den ide at dr[3] er en byte
Avatar billede arne_v Ekspert
14. april 2005 - 23:46 #55
jep
Avatar billede decrypto Nybegynder
14. april 2005 - 23:46 #56
Jeg prøver lige med dt.Columns.Add(new DataColumn("Billede", typeof(byte[])));
Avatar billede arne_v Ekspert
14. april 2005 - 23:47 #57
men iøvrigt tror jeg slet ikke at et datagrid kan vise billeder på den måde !
Avatar billede decrypto Nybegynder
14. april 2005 - 23:48 #58
Hey nu kommer der ingen runtime fejl, men ude på min præsentation kommer der ikke noget billede frem men skriver "System.Byte[]" ud. Jeg er tæt på...hvad mangler jeg????
Avatar billede decrypto Nybegynder
14. april 2005 - 23:50 #59
Du er næsten klar til at få points :o), kan du se hvad jeg mangler?
Avatar billede arne_v Ekspert
14. april 2005 - 23:52 #60
Jeg tror at

dr[3] = p.ProductPhoto;

skal være

dr[3] = new EnEllerAndenBilledKlasse(p.ProductPhoto);

men desværre ligger den slags grafik halløjsa uden for mit område

[dt.Columns.Add skal naturligvis også rettes til at matche]
Avatar billede decrypto Nybegynder
14. april 2005 - 23:53 #61
Er det ikke bare at skrive?

<asp:HyperLinkColumn HeaderText="#" HeaderStyle-HorizontalAlign="Center" ItemStyle-HorizontalAlign="Center"
HeaderStyle-Width="50" ItemStyle-Width="50" DataNavigateUrlField="ProduktID" DataNavigateUrlFormatString="produkt.aspx?id={0}"
DataTextField="Billede" Target="_self" />

I præsentationsdelen, hvordan kan jeg ellers skrive billedet ud sammen med resten af data, og lave produktliste?
Avatar billede decrypto Nybegynder
14. april 2005 - 23:55 #62
Okay, så må jeg maile løsningen til dig på mail, hvis jeg overhovedet finder ud af det.
Avatar billede decrypto Nybegynder
14. april 2005 - 23:55 #63
Så du også har et eksempel, :o)
Avatar billede decrypto Nybegynder
15. april 2005 - 00:37 #64
Jeg er kommet lidt tættere på...
Avatar billede decrypto Nybegynder
15. april 2005 - 00:38 #65
dt.Columns.Add(new DataColumn("ProduktID", typeof(Int32)));
                dt.Columns.Add(new DataColumn("Navn", typeof(string)));
                dt.Columns.Add(new DataColumn("Pris", typeof(double)));
                dt.Columns.Add(new DataColumn("Billede", typeof(byte[])));
               
                foreach(ProductData p in ProductArray)
                {
                    dr = dt.NewRow();

                    dr[0] = p.ProductId.ToString();
                    dr[1] = p.ProductName.ToString();
                    dr[2] = p.ProductPrice.ToString();
                    Photo photo = new Photo();
                    dr[3] = photo.StreamPhoto(p.ProductPhoto);
                    //dr[3] = (byte[])p.ProductPhoto;
                    dt.Rows.Add(dr);
                }
Avatar billede decrypto Nybegynder
15. april 2005 - 00:39 #66
Er min nye kode bemærk dr[3].

using System;
using System.Collections;
using System.Drawing;
using System.Data;
using MySql;
using MySql.Data;
using MySql.Data.MySqlClient;
using System.Drawing.Imaging;
using System.IO;

    public class Photo
    {
        public Photo()
        {
            //
            // TODO: Add constructor logic here
            //
        }

        public Bitmap StreamPhoto(byte[] PhotoData)
        {
            MemoryStream stream = new MemoryStream ();
            stream.Write (PhotoData, 0, PhotoData.Length);         
            Bitmap bitmap = new Bitmap (stream);         
            return bitmap;
        }
    }
Avatar billede decrypto Nybegynder
15. april 2005 - 00:41 #67
Nu skal jeg bare streame et billede ud af gangen, ved at bruge:

System.Web.HttpContext.Current.Response.ContentType = "image/gif";         
bitmap.Save (System.Web.HttpContext.Current.Response.OutputStream, ImageFormat.Gif);

Har du nogen ide hvordan jeg kan gøre det?
Avatar billede decrypto Nybegynder
15. april 2005 - 00:44 #68
Jeg kan nemlig skrive den ud, men så får jeg kun ét billede oppe i hjørnet uden min html.
Avatar billede arne_v Ekspert
15. april 2005 - 08:03 #69
Jeg havde helt glemt at det var ASP.NET ...

Rent teknisk må du skulle have siden til at generere et <IMG SRC="..."/> som
så henter billedet

Men jeg er simpelthen ikke god nok til ASP.NET til at kune få sådan noget lavet

Cyberfessor eller Snepnet
Avatar billede decrypto Nybegynder
15. april 2005 - 08:34 #70
Hvordan får man fat i Cyberfessor og Snetnet?
Avatar billede decrypto Nybegynder
16. april 2005 - 16:42 #71
Jeg vil gerne give point til dig Arne, jeg arbejder på at løse dette ønske under en anden tråd, men jeg vil gerne give point da du har skubbet mig hen imod den rigtige retning. Mange tak. :O)
Avatar billede arne_v Ekspert
16. april 2005 - 16:49 #72
svar
Avatar billede arne_v Ekspert
16. april 2005 - 16:50 #73
og jeg har set den anden tråd
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
Computerworld tilbyder specialiserede kurser i database-management

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