[Rets-dev] Photos
Gary Miller
gary.miller at lucero.com
Thu Mar 8 15:49:07 CST 2007
Brad and All
Thanks, that works well.
Gary Miller
From: Bradley Matheson [mailto:BMatheson at sharperagent.com]
Sent: Thursday, March 08, 2007 2:18 PM
To: Libor Viktorin; Gary Miller; rets-dev at rets.org
Subject: RE: [Rets-dev] Photos
if (webResponse.Headers[HttpResponseHeader.ContentType] == "image/jpeg")
{
byte[] result;
using (Stream stream = webResponse.GetResponseStream())
{
using (MemoryStream memoryStream = new MemoryStream())
{
int count = 0;
byte[] buffer = new byte[8191];
do
{
count = stream.Read(buffer, 0, buffer.Length);
memoryStream.Write(buffer, 0, count);
} while (count != 0);
result = memoryStream.ToArray();
}
}
}
_____
From: rets-dev-bounces at rets.org [mailto:rets-dev-bounces at rets.org] On Behalf
Of Libor Viktorin
Sent: Thursday, March 08, 2007 2:00 PM
To: Gary Miller; rets-dev at rets.org
Subject: RE: [Rets-dev] Photos
The length of the stream should be in the http header named Content-Length.
In case it's missing, you may read by chunks and cumulate the result:
MemoryStream mem = new MemoryStream();
byte[] buffer = new byte[BUFFER_LENGTH];
int rd;
while((rd = strm.Read(buffer, 0, buffer.Length)) > 0)
mem.Write(buffer, 0, rd);
return mem.ToArray();
Libor
_____
From: Gary Miller [mailto:gary.miller at lucero.com]
Sent: Thursday, March 08, 2007 3:50 PM
To: Libor Viktorin; rets-dev at rets.org
Subject: RE: [Rets-dev] Photos
Libor and others
I'm probably missing the obvious but here is what I'm trying to do.
In C# I simply want to ready the stream into a byte array and then write the
byte array to a file. However the stream that is returned by the GetObject
request doesn't support "seek" type operations so I cannot tell the length
of the stream.
What am I missing?
Here is the code I'm attempting to use.
Stream strm = getobject.ResponseStream;
long i = strm.Length;
byte[] a = new byte[i];
strm.Read(a, 0, a.Length);
FileStream fs = new FileStream(@"c:\test.jpg",
FileMode.Create);
fs.Write( a, 0, a.Length);
fs.Close();
Gary Miller
From: Libor Viktorin [mailto:lviktorin at marketlinx.com]
Sent: Thursday, March 08, 2007 7:56 AM
To: Gary Miller; rets-dev at rets.org
Subject: RE: [Rets-dev] Photos
If you're asking about RETS 1.x, then yes.
If the request has been for only one photo (ID=entity:n, where n is not an
asterisk), the body of the response is usually the jpg (or other image)
file, unless there was any problem, in which case the response is usually
regular xml <RETS> response with non-zero reply code.
If more than one photo has been requested, a multipart response is returned
(See the specs, chapter 5.11).
Libor
_____
From: rets-dev-bounces at rets.org [mailto:rets-dev-bounces at rets.org] On Behalf
Of Gary Miller
Sent: Wednesday, March 07, 2007 10:59 PM
To: rets-dev at rets.org
Subject: [Rets-dev] Photos
I know I'm not the first person to ask but.
Are photos returned in a byte stream from the GetObject Transaction or ?
Thanks.
Gary Miller
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.rets.org/pipermail/rets-dev/attachments/20070308/7cc69b89/attachment.html
More information about the Rets-dev
mailing list