Hi Allen, Ryan
Allen, good catch there. But there may also be a problem with finding the
start of the base64. Looking at an e-mail in my pop mailbox:
------=_NextPart_000_0025_01BFD481.83702DE0
Content-Type: image/jpeg;
name="bay.jpg"
Content-Transfer-Encoding: base64
Content-Disposition: attachment;
filename="bay.jpg"
/9j/4AAQSkZJRgABAQEASABIAAD/2wBDAAgGBgcGBQgHBwcJCQgKDBQNDAsLDBkSEw8UHRofHh0a
HBwgJC4nICIsIxwcKDcpLDAxNDQ0Hyc5PTgyPC4zNDL/2wBDAQkJCQwLDBgNDRgyIRwhMjIyMjIy
...
Won't the appearance of the Content-Disposition line cause the code to fail
on this e-mail?
Are the blank lines just before and after the base64 required by the MIME
standard?
Perhaps best to find "image/jpeg" and then find the blank line before the
start of the base64 with "^-^-" ?
Can we find the end of the base64 by looking for the blank line after?
I suppose, we would like to get the image file name as well?
Sorry for the stupid questions, but I don't know much about this.
Cheers
Larry
----- Original Message -----
From: <[EMAIL PROTECTED]>
To: <[EMAIL PROTECTED]>
Sent: Monday, June 12, 2000 6:18 PM
Subject: [REBOL] solved (was detach-image: func (was: %detach.r ) ) Re:(7)
>
> ----- Original Message -----
> From: <[EMAIL PROTECTED]>
> To: <[EMAIL PROTECTED]>
> Sent: Tuesday, June 13, 2000 9:13 AM
> Subject: [REBOL] solved (was detach-image: func (was: %detach.r ) ) Re:(6)
>
>
> > This now works (with .jpg images, at least)...
>
> The reason for that is below..
>
> > parse/all email-contents [thru {base64^/^/} copy text to {==} (append
> > > > image-code text)]
>
> = is only used for padding in Base64 There is no guarantee that == will
> be the terminator of base64 encoded data.
>
> To find the end you have to go to start of the boundary and trim the
excess.
>
> parse/all email-contents [thru {base64^/^/} copy text to {--} (append
> image-code trim copy text)]
>
> It will work more reliably. "--" will begin a boundary and "-" cannot
appear
> as a char inside base64.
>
>
> Cheers,
>
> Allen K
>
>