JavaMail - MimeBodyPart.attachFile()
Radovana Straube
radovana_straube na yahoo.com
Úterý Říjen 6 12:46:54 CEST 2009
FileDataSource ma metodu setFileTypeMap(FileTypeMap map). V dokumenatacii k triede javax.activation.FileTypeMap stoji :
"Implementations of this class will implement the getContentType methods which will derive a content type from a file name or a File object."
Mozno by Vam pomohlo naimplementovat vlastnu triedu odvodenu z FileTypMap.
Radovana Straube
--- On Tue, 10/6/09, Dusan Zatkovsky <msk.conf na gmail.com> wrote:
> From: Dusan Zatkovsky <msk.conf na gmail.com>
> Subject: Re: JavaMail - MimeBodyPart.attachFile()
> To: "Java" <konference na java.cz>
> Date: Tuesday, October 6, 2009, 12:40 PM
> Este ma napadlo - ja by som este
> teoreticky dokazal prezit, ze sa mi .txt
> nacitava do stringu, ale problem bude u velkych suborov,
> pretoze moj pokus s
> 2x800MB ascii subormi "foo.txt" a jeho kopiu "foo.bin"
> dopadol tak, ze
> volanie attachFile() (a alternativa s DataSource) pre
> "foo.bin" trva zlomok
> sekundy (vytvori sa len referencia na subor), ale u
> "foo.txt" to vyzere pamat
> a crashne (nacitava 800MB do stringu).
>
>
>
> > DD.
> >
> > Diky, ale nepomohlo:
> >
> > for ( String s : new String[] {
> "/etc/passwd", "/tmp/passwd.txt" } ) {
> >
> FileDataSource fds = new FileDataSource(new File(s));
> >
> DataHandler dh=new DataHandler(fds);
> >
> System.out.println(dh.getContentType());
> > }
> >
> > - java.io.FileInputStream
> > - java.lang.String
> >
> > > Dobry den,
> > >
> > > skuste attachment pridat cez DataHandler:
> > >
> > > MimeBodyPart oBody = new MimeBodyPart();
> > > FileDataSource oFds = new
> FileDataSource("/etc/passwd.txt");
> > > oBody.setDataHandler(new DataHandler(oFds));
> > > oBody.setFileName("passwd.txt");
> > >
> > > S pozdravom
> > > Radovana Straube
> > >
> > > --- On Tue, 10/6/09, Dusan Zatkovsky <msk.conf na gmail.com>
> wrote:
> > > > From: Dusan Zatkovsky <msk.conf na gmail.com>
> > > > Subject: JavaMail -
> MimeBodyPart.attachFile()
> > > > To: "Java" <konference na java.cz>
> > > > Date: Tuesday, October 6, 2009, 11:57 AM
> > > > Ahoj.
> > > >
> > > > Ma tu niekto skusenosti s JavaMail?
> Konkretne sa mi jedna o
> > > > uvedenu metodu.
> > > >
> > > > Kod:
> > > >
> > > > MimeBodyPart part1 = new
> > > > MimeBodyPart();
> > > > part1.attachFile( new File (
> > > > "/etc/passwd");
> > > > part1.setFileName("passwd");
> > > >
> > > > MimeBodyPart part2 = new
> > > > MimeBodyPart();
> > > > part2.attachFile( new File (
> > > > "passwd.txt");
> > > >
> part2.setFileName("/tmp/passwd.txt");
> > > >
> > > > /etc/passwd je ako kazdy vie ascii textovy
> subor.
> > > > passwd.txt je jeho prosta
> > > > kopia pod inym nazvom (.txt).
> > > >
> > > > Nasleduje problem:
> > > >
> > > >
> > > >
> > > > System.out.println(part1.getContentType());
> > > >
> > > >
> System.out.println(part1.getContent().getClass());
> > > >
> > > > // text/plain,
> java.io.FileInputStream
> > > >
> > > >
> > > >
> > > > System.out.println(part2.getContentType());
> > > >
> > > >
> System.out.println(part2.getContent().getClass());
> > > >
> > > > // text/plain, java.lang.String !!!
> > > >
> > > > Vypada to, ze ten **** nejak heurestikuje
> podla mena a
> > > > obsahu suboru a usudi,
> > > > ze textovy subor je mozne ulozit do stringu.
> To je ale
> > > > presne to, co nechcem,
> > > > pretoze sa obavam, ze pri dekodovani smime
> spravy moze
> > > > dojst k nejakym
> > > > neocakavanym javom ( kodovanie a spol... ).
> > > >
> > > > Pozeral som sa aj na vysledky pomocou
> > > > part.writeTo(System.out), oba su zhodne:
> > > >
> > > > Content-Disposition: attachment;
> > > > filename=passwd
> > > > ... obsah suboru
> > > >
> > > > Content-Disposition: attachment;
> > > > filename=passwd.txt
> > > > ... obsah suboru
> > > >
> > > >
> > > > Da sa nejak MimeBodyPart donutit, aby
> attachFile() robil
> > > > skutocny attach file?
> > > >
> > > >
> > > > Dik.
> > > >
> > > > --
> > > > Dusan
> > > >
> > > >
> > > > ... tykajte mi
>
>
>
> --
> Dusan
>
>
> ... tykajte mi
>
__________________________________________________
Do You Yahoo!?
Tired of spam? Yahoo! Mail has the best spam protection around
http://mail.yahoo.com
Další informace o konferenci Konference