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 <[email protected]> wrote:
> > > From: Dusan Zatkovsky <[email protected]>
> > > Subject: JavaMail - MimeBodyPart.attachFile()
> > > To: "Java" <[email protected]>
> > > 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