Avatar billede d.kryger Praktikant
21. maj 2012 - 15:07 Der er 3 kommentarer og
1 løsning

Sende billede som byte til .net webservice

Hej eksperter.

Jeg har en side hvor jeg skal sende nogle data til en webservice (ikke min webservice). Jeg skal sende et billede som byte, men hvordan konverterer jeg billedet til byte?

Jeg har prøve med følgende, men det duer ikke (ifølge modtageren):
$image1 = file_get_contents("http://a.bimg.dk/node-images/178/5/580x362-c/5178105-pix-fodbold--silkeborg---brndby.jpg");
$image1BinaryData = "data:image/jpeg;base64,".base64_encode($image1)."";

Modtageren siger at når webservicen gemmer billedet, så ligner det godt nok et jpg-billede, men filen kan ikke åbnes...

Kan nogen af Jer hjælpe?
Avatar billede kjeldsted Novice
22. maj 2012 - 07:40 #1
"men hvordan konverterer jeg billedet til byte?"

Altså. Alt er vel relativt. En byte er jo sådan set blot en betegnelse for (som regel) 8-bit. Derfor vil alt hvad du sender være sendt i bytes (medmindre du sender det analogt). Så derfor er spørgsmålet lidt volapyk for mig.
Hvis modtageren beder om at modtage det i bytes må han være tilfreds med alle digitale løsninger, eller udtrykke sig mere klart.
Avatar billede d.kryger Praktikant
22. maj 2012 - 09:41 #2
Ja, jeg forstår det heller ikke... Men modtagerens siger at webservicen skal modtage billedet som byte. Her er hvad webservicens WSDL skriver: <s:element name="binaryData" type="s:base64Binary" maxOccurs="1" minOccurs="0"/>

I "kravspecifikationen" står der følgende:
Parametre: binaryData()
Data type: Byte
Kommentar: De rå fil data (billedet)

Giver det mere mening for dig?
Avatar billede d.kryger Praktikant
22. maj 2012 - 10:12 #3
Jeg prøvede mig lige frem og denne løsning virkede:

$handle = fopen("LINK TIL BILLEDE", "rb");
$contents = stream_get_contents($handle);
fclose($handle);
Avatar billede kjeldsted Novice
23. maj 2012 - 23:58 #4
Altså binaryData() betyder vel at det skal sendes binært i stedet for ASCII, men det er stadig virkelig noget sludder at sige det skal sendes som bytes. Det er da nogle fjolser, hvis de mener at de skal bruge billedet sent i bytes og så ikke modtager det du sender ;) Al filbehandling der foregår i en computer er og bliver i bytes. Så teoretisk set skriver de at du ikke skal sende et print men en fil :)

Men godt du fik det til at virke.
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

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