Beefy Boxes and Bandwidth Generously Provided by pair Networks
laziness, impatience, and hubris
 
PerlMonks  

RE: about MIME::Base64

by tenatious (Beadle)
on Aug 25, 2000 at 05:23 UTC ( #29571=note: print w/replies, xml ) Need Help??


in reply to about MIME::Base64

Try setting the buffer size to 57 or a multiple of 57.

Replies are listed 'Best First'.
RE: RE: about MIME::Base64
by Delfer (Novice) on Aug 25, 2000 at 07:25 UTC
    Thank you,But No effect.I had read the documents on
    MIME::Base64 coming with Perl5.6 before I posted.Sure,I
    have tried to use 57*n ...,but the results was same with
    without it at all!
    keep puzzled!:(
      I don't know what the problem is. I looked through MIME::Lite, and the length of the strings that are encoded is set to 45. So I threw together the following program using a 35k jpeg to test. Maybe the problem is the file is too short?
      #!/usr/bin/perl use MIME::Base64; use MIME::Lite; open FILE, "jpg/attachment-start.jpg"; while (read (FILE,$buf,45)) { $added .= encode_base64($buf); } open OUT1, ">blah1"; print OUT1 $added; close FILE; close OUT1; $msg = MIME::Lite->new(From => "me\@myhost.com", To => "blah\@blah.com", Type=> "image/jpg", Encoding =>"base64", Path => "jpg/attachment-start.jpg"); $message = $msg->as_string; open OUT2, ">blah2"; print OUT2 $message; close OUT2;
      then I ran it, and deleted the header... yes, I'm sure I should have used $message = $msg->body_as_string or something like that, but I didn't.

      then i did the following. ~$ diff blah1 blah2

      There was no output. It works for a file size of 35k. Perhaps your file is too short?

      Update: I slept on it and remembered that I left something out. If you set the "paranoid" flag in MIME::Lite, it will use it's own encoding scheme instead of calling MIME::Base64:encode_base64, as it does default, so this kind of behavior is really strange. The only difference in the way you are calling it and the way MIME::Lite calls it is that it calls it with a buffer size of (read (FH,$buf,45)) rather than (read (FH,$buf,1024)). So I stand by my earlier post... try setting the buffer size to 57*1.

Log In?
Username:
Password:

What's my password?
Create A New User
Domain Nodelet?
Node Status?
node history
Node Type: note [id://29571]
help
Chatterbox?
and the web crawler heard nothing...

How do I use this? | Other CB clients
Other Users?
Others taking refuge in the Monastery: (3)
As of 2022-10-06 06:34 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?
    My preferred way to holiday/vacation is:











    Results (26 votes). Check out past polls.

    Notices?