• Open Menu Close Menu
  • Apple
  • Shopping Bag
  • Apple
  • Mac
  • iPad
  • iPhone
  • Watch
  • TV
  • Music
  • Support
  • Search apple.com
  • Shopping Bag

Lists

Open Menu Close Menu
  • Terms and Conditions
  • Lists hosted on this site
  • Email the Postmaster
  • Tips for posting to public mailing lists
Problem with writing image file.
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Problem with writing image file.


  • Subject: Problem with writing image file.
  • From: "Dan Rodricks" <email@hidden>
  • Date: Mon, 2 Apr 2007 14:47:04 +0530

Hi All,


I want to write an image to disk. Below are the functions that i'm using to write the image.By using this, image is not fully writing on the disk, some byte is missing that is why image is not properly shown.

const char* url = "http://farm1.static.flickr.com/2/1418878_1e92283336_m.jpg
";

const char* fileUrl = "file//localhost/private/tmp/1418878_1e92283336_m.jpg"

void Flickr::beginCFStreamDownload(const char* url, const char* fileUrl)

{

CFHTTPMessageRef request;

CFReadStreamRef readStream;

CFDataRef data=NULL;

CFURLRef urlRef;

CFURLRef fileUrlRef;

urlRef = CFURLCreateWithBytes( kCFAllocatorDefault, (const UInt8*)url,
strlen( url ), kCFStringEncodingUTF8, NULL );

fileUrlRef = CFURLCreateWithBytes( kCFAllocatorDefault,
(constUInt8*)fileUrl, strlen( fileUrl ), kCFStringEncodingUTF8, NULL
);

request = CFHTTPMessageCreateRequest(kCFAllocatorDefault, CFSTR("GET"),
urlRef, kCFHTTPVersion1_1);

// Set the body.

CFHTTPMessageSetBody(request, data);

if (request == nil)

{

}

else

{

readStream = CFReadStreamCreateForHTTPRequest(kCFAllocatorDefault, request);

CFRelease(request);

CFReadStreamSetProperty(readStream, kCFStreamPropertyHTTPShouldAutoredirect,
kCFBooleanTrue);

CFWriteStreamRef writeStream = CFWriteStreamCreateWithFile(NULL,
fileUrlRef);

if (writeStream)

{

CFWriteStreamOpen(writeStream);

Write_file(readStream, writeStream);

CFRelease(writeStream);

}

}

}

void Flickr::Write_file(CFReadStreamRef stream, CFWriteStreamRef
writeStream)

{

// CFWriteStreamRef writeStream = (CFWriteStreamRef)[writeStreams
objectForKey:url];

CFReadStreamOpen(stream);

UInt8 buf[512];

CFIndex totalBytesRead = 0, bytesRead = 512;

CFIndex totalBytesWritten = 0;

do

{

bytesRead = CFReadStreamRead(stream, buf, 512);

totalBytesRead += bytesRead;

if (writeStream)

{

totalBytesWritten += CFWriteStreamWrite(writeStream, buf, bytesRead);

//CAlert::InformationAlert("ttttt");

}

} while (bytesRead == 512);

CFWriteStreamClose(writeStream);

CFReadStreamClose(stream);

}

Can anyone give me write way to solve this problem?

Thanks in Advance.

Dan
_______________________________________________

Cocoa-dev mailing list (email@hidden)

Do not post admin requests or moderator comments to the list.
Contact the moderators at cocoa-dev-admins(at)lists.apple.com

Help/Unsubscribe/Update your Subscription:
This email sent to email@hidden


  • Follow-Ups:
    • Re: Problem with writing image file.
      • From: Scott Anguish <email@hidden>
  • Prev by Date: Re: Deselecting an NSButtonCell?
  • Next by Date: Set TableView font and rowHeight
  • Previous by thread: Re: Deselecting an NSButtonCell?
  • Next by thread: Re: Problem with writing image file.
  • Index(es):
    • Date
    • Thread