Avatar billede skurkendk Nybegynder
05. oktober 2004 - 11:23 Der er 13 kommentarer og
1 løsning

Send JPEG billede via XML

Hej!

Jeg forsøger at sende et JPEG billede fra min webservice i C# til en Windows aplikation.

Jeg har læst mig til at for at sende et billede i en XML streng skal det 64 encodes. Jeg har dog kun fundet eksempler på det gjort i ASP. Er der nogen der kan vise mig et stump kode det encoder billedet i C# og evt. en der decoder det igen, også i C#?

Jeg er totalt newbie i det her webservice sjov, så be gentle! ;)
Avatar billede arne_v Ekspert
05. oktober 2004 - 11:29 #1
Er det ikke bare:

[WebMethod]
public byte[] GetJpeg(string filename)
{
  ...
}

?

(og så sørger .NET selv for at base64 encode)
Avatar billede skurkendk Nybegynder
05. oktober 2004 - 11:46 #2
Måske det kan gøres sådan hvis man skal lave en webservice der kun skal returnere et billede (så hjælper .NET jo en med konvertering).

Jeg glemte jeg nok at skrive at billedet skal returneres i et datasat sammen med nogle tabeller mm. Så det skal altså encodes, sættes ind i datasettet og derefter smides afsted i webservicen... Undrer mig over at jeg ikke kan finde eksempler på nettet, der må da være andre der har rodet med det her? Måske kan det slet ikke lade sig gøre? :-S
Avatar billede arne_v Ekspert
05. oktober 2004 - 12:06 #3
Convert klassen har 2 metoder:
  FromBase64String
  ToBase64String
Avatar billede arne_v Ekspert
05. oktober 2004 - 12:09 #4
Men hvad er pointen i at returnere et DataSet i en web service ?
Avatar billede skurkendk Nybegynder
05. oktober 2004 - 12:32 #5
Webservicen skal kunne returnere 3-4 tabeller samt et eller flere billeder. Er dataset så ikke måden at gøre det på? Det virker indtil videre fint med tabellerne.

Kigger lidt på Convert-klassen.
Avatar billede arne_v Ekspert
05. oktober 2004 - 12:39 #6
Web services fordele er at de er platform/sprog uafhængige. Deres ulempe er at
de har ret meget overhead.

Hvis man bruger platform/sprog specifikke data typer, så mister man fordelen
og har kun ulempen.
Avatar billede skurkendk Nybegynder
05. oktober 2004 - 12:52 #7
Ok, det er jeg godt med på, men netop denne specifikke webservice skal kun bruges af en bestemt aplikation, så det har jeg ikke lige taget så meget højde for. :-)

Tager jeg fejl hvis jeg påstår at det XML der kommer ud ikke er et dataset og derfor under alle omstændigheder stadig kan bruges på andre platforme/af andre sprog? Jeg mener, .NET oversætter jo automatisk til korrekt XML...?
Avatar billede arne_v Ekspert
05. oktober 2004 - 12:58 #8
.NET konverterer data set -> XML.

Og med .NET som client kan der konverteres XML -> data set igen.

Men et Java program (eller et Cobol program på IBM mainframe)
vil ikke kunne konvertere XML'en til noget da de ikke kender
.NET data set.
Avatar billede skurkendk Nybegynder
05. oktober 2004 - 13:03 #9
Men man må da nemt kunne læse XML -> Tabeller, da et dataset konverteret til XML jo egentlig bare en en tabel indeholdende flere tabeller? Godt nok kan det ikke gøres automatisk i Java eller Cobol, men det må da forholdsvis nemt kunne læses alligevel?
Avatar billede arne_v Ekspert
09. oktober 2004 - 23:14 #10
Jo men så er det jo en ikke standard måde at gøre det på.
Avatar billede arne_v Ekspert
09. oktober 2004 - 23:15 #11
Men prøvede du Convert FromBase64String & ToBase64String ?
Avatar billede arne_v Ekspert
17. oktober 2004 - 17:47 #12
??
Avatar billede arne_v Ekspert
17. oktober 2004 - 17:47 #13
Og et svar såfremt de løste problemet
Avatar billede skurkendk Nybegynder
19. oktober 2004 - 08:42 #14
Sorry at jeg ikke har fået svaret, har haft travlt med en masse andet. Accepterer lige dit svar, så må jeg lige få det prøvet af en dag ved lejlighed.
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
IT-kurser om Microsoft 365, sikkerhed, personlig vækst, udvikling, digital markedsføring, grafisk design, SAP og forretningsanalyse.

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