6 Replies Latest reply on May 31, 2011 11:27 AM by Brad.White

    getContentType returns NULL for a list of attachments

    RobRZDZ

      Hello.

       

      I'm designing a process whose input document is a doc which contains a couple of attach (and an XML portion of data); during the life of the process, I use the AssignTask service to render a form in workspace and allow a "backend" user to complete the form.

       

      Such user can also add notes and attachments.

       

      I programmed the AssignTask as to output attachments in a list named "doclist".

       

      As soon as the backend user confirms the form, I created a Script in executeScript whose role is to prepare a DDX string as to produce a new document with attachs; in the code I iterate the list as to get:

       

           . the attachname using doc.getAttribute("wsfilename");

           . the mime-type using doc.getContentType();

       

      The former does work (I'm able to see the name of the attachs/notes) but the getContentType always returns NULL.

       

      I see that Xpath does offer the getDocContentType but I'm trying to avoid having too much processes and I think getContentType() should give the same results.

       

      This is the piece of code I'm writing:

       

      === cut here === 8< ===

       

      import java.util.List;
      import java.util.HashMap;
      import java.util.Map;
      import java.util.Iterator;
      import com.adobe.idp.Document;

      List docList = patExecContext.getProcessDataListValue("/process_data/doclist");

      Map attachMap = new HashMap();

      Iterator it = docList.iterator();

      String ddx = "<?xml version='1.0' encoding='UTF-8'?>";
      ddx +=        "<DDX xmlns='http://ns.adobe.com/DDX/1.0/'>";
      ddx +=        "<PDF result='doc_out.pdf'>";

      while (it.hasNext()) {

          Document attDoc = (Document) it.next();
          String name = (String) attDoc.getAttribute("wsfilename");
          System.out.println("Aggiungo alla lista "+name);
          String mtype = (String)attDoc.getContentType();
          if (mtype != null && mtype.length() == 0) {
              mtype="application/octet-stream";
          }

          System.out.println("Mime type: "+mtype);
          attachMap.put(name,attDoc);
          ddx += "<FileAttachments source='"+name+"' namekey='*'>";
          ddx += "<File filename='"+name+"' mimetype='"+mtype+"' />";
          ddx +="</FileAttachments>";
      }

      ddx += "<PDF source='docesaminato' />";
      ddx += "</PDF>";
      ddx += "</DDX>";

      patExecContext.setProcessDataMapValue("/process_data/attach_map",attachMap);
      patExecContext.setProcessDataStringValue("/process_data/ddx_string",ddx);

       

      === cut here === 8< ===

       

      What am I missing?

       

      I'm still learning LCES so please be patient... :-)

       

      Thanks,

      Rob

        • 1. Re: getContentType returns NULL for a list of attachments
          Steve L Walker Level 5

          Rob,

           

          If you don't explicitly set the content type when you build 'docList' you will may a content type of null when you retrieve the document from the list.

           

          Steve

          • 2. Re: getContentType returns NULL for a list of attachments
            RobRZDZ Level 1

            Steve,

             

            thanks for your comment.

             

            The document which comes in input already has a couple of attachs; when the form gets rendered in WorkSpace, the user is able to see the attachs and he's also able to create new notes & attachs.

             

            When he exits the WorkSpace, the service itself returns the list of notes/attachs in a doclist, including the new ones created in WS so I don't have control over the contenttype of notes/attachs __created__ in WS.

             

            I think I can get the contenttype of the attach when the doc first gets in but how do I get the contenttype of notes/attachs created in WS?

             

            Thanks again,

            Rob

            • 3. Re: getContentType returns NULL for a list of attachments
              RobRZDZ Level 1

              OK, let me explain a bit more.

               

              The process I'm presently designing accepts an input document (variable type = document) which may contain attachments; the starting point is a processFormSubmission service which has:

               

              [Input]

              . Submitted Form Data (variable) -> inputdocument (type=document)

               

              [Output]

              . Attachments (variable) -> doclist (type=list of documents)

               

              Then the processFormSubmission completes, I have the list of attachs in the doclist variable. When I iterate through it using code embedded into an executeScript service, I'm able to retrieve the NAME/WSFILENAME of the attach but __NOT__ the contenttype.

               

              Here is the code:

               

              === cut here === 8< ===

               

              import java.util.List;
              import java.util.Iterator;
              import com.adobe.idp.Document;

              List attachList = patExecContext.getProcessDataListValue("/process_data/doclist");

              List newList = new ArrayList();
              List nameList = new ArrayList();

              Iterator it = attachList.iterator();

              while(it.hasNext()) {
                  Document attDoc = (Document) it.next();
                  String name = (String) attDoc.getAttribute("name");
                  attDoc.setAttribute("wsfilename",name);
                    nameList.add((String)name);
                  if (newList.add((Document)attDoc) != true) {
                      System.out.println("Error while inserting into the newList");
                  }
                    String mtype = (String)attDoc.getContentType();
                    System.out.println("Name: "+name+" - mtype: "+mtype);
              }

              patExecContext.setProcessDataListValue("/process_data/doclisttask",newList);
              patExecContext.setProcessDataListValue("/process_data/attach_name_list",nameList);

               

              === cut here === 8< ===

               

              When the above does execute, I see the following in Jboss output:

               

              2009-09-21 12:37:42,312 INFO  [STDOUT] Name: logo1.JPG - mtype: null
              2009-09-21 12:37:42,312 INFO  [STDOUT] Name: logo1.gif - mtype: null

               

              Is it expected?

               

              Since the above doclist provides the list of attach for the AssignTask service, the content type is empty both before the service starts and after it completes (with or without notes/attach added using the WorkSpace).

               

              Perhaps I'm using the wrong method but is the above expected (ie, not being able to retrieve the content/type of the attachments)?

               

              Cheers,

              Rob

              • 4. Re: getContentType returns NULL for a list of attachments
                Brad.White Level 1

                Did you figure this out? I have the same problem inside of workspace. A user attaches documents to a pdf before they submit and there is nothing in the ContentType. I NEED the ContentType in order to submit the document after into ContentSpace.

                • 5. Re: getContentType returns NULL for a list of attachments
                  RobRZDZ Level 1

                  Hi Brad.

                   

                  No, I never figured it out :-( but since I was working on a prototype project which never get into production, I gave up and manually assigned the "application/octect-stream" type to every document which got attached in WorkSpace.

                   

                  At a given point, I was about to manually (by code) assign the mime-type given the filename extension (eg, for .3dm  ->  x-world/x-3dmf,
                  .3dmf   -> x-world/x-3dmf, .pdf   -> application/pdf) but I ended up by assigning the default "application/octect-stream" type).

                   

                  For your convenience, I'm attaching the list I was able to gather.

                   

                  .3dm      x-world/x-3dmf
                  .3dmf      x-world/x-3dmf
                  .a      application/octet-stream
                  .aab      application/x-authorware-bin
                  .aam      application/x-authorware-map
                  .aas      application/x-authorware-seg
                  .abc      text/vnd.abc
                  .acgi      text/html
                  .afl      video/animaflex
                  .ai      application/postscript
                  .aif      audio/aiff
                  .aif      audio/x-aiff
                  .aifc      audio/aiff
                  .aifc      audio/x-aiff
                  .aiff      audio/aiff
                  .aiff      audio/x-aiff
                  .aim      application/x-aim
                  .aip      text/x-audiosoft-intra
                  .ani      application/x-navi-animation
                  .aos      application/x-nokia-9000-communicator-add-on-software
                  .aps      application/mime
                  .arc      application/octet-stream
                  .arj      application/arj
                  .arj      application/octet-stream
                  .art      image/x-jg
                  .asf      video/x-ms-asf
                  .asm      text/x-asm
                  .asp      text/asp
                  .asx      application/x-mplayer2
                  .asx      video/x-ms-asf
                  .asx      video/x-ms-asf-plugin
                  .au      audio/basic
                  .au      audio/x-au
                  .avi      application/x-troff-msvideo
                  .avi      video/avi
                  .avi      video/msvideo
                  .avi      video/x-msvideo
                  .avs      video/avs-video
                  .bcpio      application/x-bcpio
                  .bin      application/mac-binary
                  .bin      application/macbinary
                  .bin      application/octet-stream
                  .bin      application/x-binary
                  .bin      application/x-macbinary
                  .bm      image/bmp
                  .bmp      image/bmp
                  .bmp      image/x-windows-bmp
                  .boo      application/book
                  .book      application/book
                  .boz      application/x-bzip2
                  .bsh      application/x-bsh
                  .bz      application/x-bzip
                  .bz2      application/x-bzip2
                  .c      text/plain
                  .c      text/x-c
                  .c++      text/plain
                  .cat      application/vnd.ms-pki.seccat
                  .cc      text/plain
                  .cc      text/x-c
                  .ccad      application/clariscad
                  .cco      application/x-cocoa
                  .cdf      application/cdf
                  .cdf      application/x-cdf
                  .cdf      application/x-netcdf
                  .cer      application/pkix-cert
                  .cer      application/x-x509-ca-cert
                  .cha      application/x-chat
                  .chat      application/x-chat
                  .class      application/java
                  .class      application/java-byte-code
                  .class      application/x-java-class
                  .com      application/octet-stream
                  .com      text/plain
                  .conf      text/plain
                  .cpio      application/x-cpio
                  .cpp      text/x-c
                  .cpt      application/mac-compactpro
                  .cpt      application/x-compactpro
                  .cpt      application/x-cpt
                  .crl      application/pkcs-crl
                  .crl      application/pkix-crl
                  .crt      application/pkix-cert
                  .crt      application/x-x509-ca-cert
                  .crt      application/x-x509-user-cert
                  .csh      application/x-csh
                  .csh      text/x-script.csh
                  .css      application/x-pointplus
                  .css      text/css
                  .cxx      text/plain
                  .dcr      application/x-director
                  .deepv      application/x-deepv
                  .def      text/plain
                  .der      application/x-x509-ca-cert
                  .dif      video/x-dv
                  .dir      application/x-director
                  .dl      video/dl
                  .dl      video/x-dl
                  .doc      application/msword
                  .dot      application/msword
                  .dp      application/commonground
                  .drw      application/drafting
                  .dump      application/octet-stream
                  .dv      video/x-dv
                  .dvi      application/x-dvi
                  .dwf      drawing/x-dwf (old)
                  .dwf      model/vnd.dwf
                  .dwg      application/acad
                  .dwg      image/vnd.dwg
                  .dwg      image/x-dwg
                  .dxf      application/dxf
                  .dxf      image/vnd.dwg
                  .dxf      image/x-dwg
                  .dxr      application/x-director
                  .el      text/x-script.elisp
                  .elc      application/x-bytecode.elisp (compiled elisp)
                  .elc      application/x-elc
                  .env      application/x-envoy
                  .eps      application/postscript
                  .es      application/x-esrehber
                  .etx      text/x-setext
                  .evy      application/envoy
                  .evy      application/x-envoy
                  .exe      application/octet-stream
                  .f      text/plain
                  .f      text/x-fortran
                  .f77      text/x-fortran
                  .f90      text/plain
                  .f90      text/x-fortran
                  .fdf      application/vnd.fdf
                  .fif      application/fractals
                  .fif      image/fif
                  .fli      video/fli
                  .fli      video/x-fli
                  .flo      image/florian
                  .flx      text/vnd.fmi.flexstor
                  .fmf      video/x-atomic3d-feature
                  .for      text/plain
                  .for      text/x-fortran
                  .fpx      image/vnd.fpx
                  .fpx      image/vnd.net-fpx
                  .frl      application/freeloader
                  .funk      audio/make
                  .g      text/plain
                  .g3      image/g3fax
                  .gif      image/gif
                  .gl      video/gl
                  .gl      video/x-gl
                  .gsd      audio/x-gsm
                  .gsm      audio/x-gsm
                  .gsp      application/x-gsp
                  .gss      application/x-gss
                  .gtar      application/x-gtar
                  .gz      application/x-compressed
                  .gz      application/x-gzip
                  .gzip      application/x-gzip
                  .gzip      multipart/x-gzip
                  .h      text/plain
                  .h      text/x-h
                  .hdf      application/x-hdf
                  .help      application/x-helpfile
                  .hgl      application/vnd.hp-hpgl
                  .hh      text/plain
                  .hh      text/x-h
                  .hlb      text/x-script
                  .hlp      application/hlp
                  .hlp      application/x-helpfile
                  .hlp      application/x-winhelp
                  .hpg      application/vnd.hp-hpgl
                  .hpgl      application/vnd.hp-hpgl
                  .hqx      application/binhex
                  .hqx      application/binhex4
                  .hqx      application/mac-binhex
                  .hqx      application/mac-binhex40
                  .hqx      application/x-binhex40
                  .hqx      application/x-mac-binhex40
                  .hta      application/hta
                  .htc      text/x-component
                  .htm      text/html
                  .html      text/html
                  .htmls      text/html
                  .htt      text/webviewhtml
                  .htx      text/html
                  .ice      x-conference/x-cooltalk
                  .ico      image/x-icon
                  .idc      text/plain
                  .ief      image/ief
                  .iefs      image/ief
                  .iges      application/iges
                  .iges      model/iges
                  .igs      application/iges
                  .igs      model/iges
                  .ima      application/x-ima
                  .imap      application/x-httpd-imap
                  .inf      application/inf
                  .ins      application/x-internett-signup
                  .ip      application/x-ip2
                  .isu      video/x-isvideo
                  .it      audio/it
                  .iv      application/x-inventor
                  .ivr      i-world/i-vrml
                  .ivy      application/x-livescreen
                  .jam      audio/x-jam
                  .jav      text/plain
                  .jav      text/x-java-source
                  .java      text/plain
                  .java      text/x-java-source
                  .jcm      application/x-java-commerce
                  .jfif      image/jpeg
                  .jfif      image/pjpeg
                  .jfif-tbnl      image/jpeg
                  .jpe      image/jpeg
                  .jpe      image/pjpeg
                  .jpeg      image/jpeg
                  .jpeg      image/pjpeg
                  .jpg      image/jpeg
                  .jpg      image/pjpeg
                  .jps      image/x-jps
                  .js      application/x-javascript
                  .jut      image/jutvision
                  .kar      audio/midi
                  .kar      music/x-karaoke
                  .ksh      application/x-ksh
                  .ksh      text/x-script.ksh
                  .la      audio/nspaudio
                  .la      audio/x-nspaudio
                  .lam      audio/x-liveaudio
                  .latex      application/x-latex
                  .lha      application/lha
                  .lha      application/octet-stream
                  .lha      application/x-lha
                  .lhx      application/octet-stream
                  .list      text/plain
                  .lma      audio/nspaudio
                  .lma      audio/x-nspaudio
                  .log      text/plain
                  .lsp      application/x-lisp
                  .lsp      text/x-script.lisp
                  .lst      text/plain
                  .lsx      text/x-la-asf
                  .ltx      application/x-latex
                  .lzh      application/octet-stream
                  .lzh      application/x-lzh
                  .lzx      application/lzx
                  .lzx      application/octet-stream
                  .lzx      application/x-lzx
                  .m      text/plain
                  .m      text/x-m
                  .m1v      video/mpeg
                  .m2a      audio/mpeg
                  .m2v      video/mpeg
                  .m3u      audio/x-mpequrl
                  .man      application/x-troff-man
                  .map      application/x-navimap
                  .mar      text/plain
                  .mbd      application/mbedlet
                  .mc$      application/x-magic-cap-package-1.0
                  .mcd      application/mcad
                  .mcd      application/x-mathcad
                  .mcf      image/vasa
                  .mcf      text/mcf
                  .mcp      application/netmc
                  .me      application/x-troff-me
                  .mht      message/rfc822
                  .mhtml      message/rfc822
                  .mid      application/x-midi
                  .mid      audio/midi
                  .mid      audio/x-mid
                  .mid      audio/x-midi
                  .mid      music/crescendo
                  .mid      x-music/x-midi
                  .midi      application/x-midi
                  .midi      audio/midi
                  .midi      audio/x-mid
                  .midi      audio/x-midi
                  .midi      music/crescendo
                  .midi      x-music/x-midi
                  .mif      application/x-frame
                  .mif      application/x-mif
                  .mime      message/rfc822
                  .mime      www/mime
                  .mjf      audio/x-vnd.audioexplosion.mjuicemediafile
                  .mjpg      video/x-motion-jpeg
                  .mm      application/base64
                  .mm      application/x-meme
                  .mme      application/base64
                  .mod      audio/mod
                  .mod      audio/x-mod
                  .moov      video/quicktime
                  .mov      video/quicktime
                  .movie      video/x-sgi-movie
                  .mp2      audio/mpeg
                  .mp2      audio/x-mpeg
                  .mp2      video/mpeg
                  .mp2      video/x-mpeg
                  .mp2      video/x-mpeq2a
                  .mp3      audio/mpeg3
                  .mp3      audio/x-mpeg-3
                  .mp3      video/mpeg
                  .mp3      video/x-mpeg
                  .mpa      audio/mpeg
                  .mpa      video/mpeg
                  .mpc      application/x-project
                  .mpe      video/mpeg
                  .mpeg      video/mpeg
                  .mpg      audio/mpeg
                  .mpg      video/mpeg
                  .mpga      audio/mpeg
                  .mpp      application/vnd.ms-project
                  .mpt      application/x-project
                  .mpv      application/x-project
                  .mpx      application/x-project
                  .mrc      application/marc
                  .ms      application/x-troff-ms
                  .mv      video/x-sgi-movie
                  .my      audio/make
                  .mzz      application/x-vnd.audioexplosion.mzz
                  .nap      image/naplps
                  .naplps      image/naplps
                  .nc      application/x-netcdf
                  .ncm      application/vnd.nokia.configuration-message
                  .nif      image/x-niff
                  .niff      image/x-niff
                  .nix      application/x-mix-transfer
                  .nsc      application/x-conference
                  .nvd      application/x-navidoc
                  .o      application/octet-stream
                  .oda      application/oda
                  .omc      application/x-omc
                  .omcd      application/x-omcdatamaker
                  .omcr      application/x-omcregerator
                  .p      text/x-pascal
                  .p10      application/pkcs10
                  .p10      application/x-pkcs10
                  .p12      application/pkcs-12
                  .p12      application/x-pkcs12
                  .p7a      application/x-pkcs7-signature
                  .p7c      application/pkcs7-mime
                  .p7c      application/x-pkcs7-mime
                  .p7m      application/pkcs7-mime
                  .p7m      application/x-pkcs7-mime
                  .p7r      application/x-pkcs7-certreqresp
                  .p7s      application/pkcs7-signature
                  .part      application/pro_eng
                  .pas      text/pascal
                  .pbm      image/x-portable-bitmap
                  .pcl      application/vnd.hp-pcl
                  .pcl      application/x-pcl
                  .pct      image/x-pict
                  .pcx      image/x-pcx
                  .pdb      chemical/x-pdb
                  .pdf      application/pdf
                  .pfunk      audio/make
                  .pfunk      audio/make.my.funk
                  .pgm      image/x-portable-graymap
                  .pgm      image/x-portable-greymap
                  .pic      image/pict
                  .pict      image/pict
                  .pkg      application/x-newton-compatible-pkg
                  .pko      application/vnd.ms-pki.pko
                  .pl      text/plain
                  .pl      text/x-script.perl
                  .plx      application/x-pixclscript
                  .pm      image/x-xpixmap
                  .pm      text/x-script.perl-module
                  .pm4      application/x-pagemaker
                  .pm5      application/x-pagemaker
                  .png      image/png
                  .pnm      application/x-portable-anymap
                  .pnm      image/x-portable-anymap
                  .pot      application/mspowerpoint
                  .pot      application/vnd.ms-powerpoint
                  .pov      model/x-pov
                  .ppa      application/vnd.ms-powerpoint
                  .ppm      image/x-portable-pixmap
                  .pps      application/mspowerpoint
                  .pps      application/vnd.ms-powerpoint
                  .ppt      application/mspowerpoint
                  .ppt      application/powerpoint
                  .ppt      application/vnd.ms-powerpoint
                  .ppt      application/x-mspowerpoint
                  .ppz      application/mspowerpoint
                  .pre      application/x-freelance
                  .prt      application/pro_eng
                  .ps      application/postscript
                  .psd      application/octet-stream
                  .pvu      paleovu/x-pv
                  .pwz      application/vnd.ms-powerpoint
                  .py      text/x-script.phyton
                  .pyc      applicaiton/x-bytecode.python
                  .qcp      audio/vnd.qcelp
                  .qd3      x-world/x-3dmf
                  .qd3d      x-world/x-3dmf
                  .qif      image/x-quicktime
                  .qt      video/quicktime
                  .qtc      video/x-qtc
                  .qti      image/x-quicktime
                  .qtif      image/x-quicktime
                  .ra      audio/x-pn-realaudio
                  .ra      audio/x-pn-realaudio-plugin
                  .ra      audio/x-realaudio
                  .ram      audio/x-pn-realaudio
                  .ras      application/x-cmu-raster
                  .ras      image/cmu-raster
                  .ras      image/x-cmu-raster
                  .rast      image/cmu-raster
                  .rexx      text/x-script.rexx
                  .rf      image/vnd.rn-realflash
                  .rgb      image/x-rgb
                  .rm      application/vnd.rn-realmedia
                  .rm      audio/x-pn-realaudio
                  .rmi      audio/mid
                  .rmm      audio/x-pn-realaudio
                  .rmp      audio/x-pn-realaudio
                  .rmp      audio/x-pn-realaudio-plugin
                  .rng      application/ringing-tones
                  .rng      application/vnd.nokia.ringing-tone
                  .rnx      application/vnd.rn-realplayer
                  .roff      application/x-troff
                  .rp      image/vnd.rn-realpix
                  .rpm      audio/x-pn-realaudio-plugin
                  .rt      text/richtext
                  .rt      text/vnd.rn-realtext
                  .rtf      application/rtf
                  .rtf      application/x-rtf
                  .rtf      text/richtext
                  .rtx      application/rtf
                  .rtx      text/richtext
                  .rv      video/vnd.rn-realvideo
                  .s      text/x-asm
                  .s3m      audio/s3m
                  .saveme      application/octet-stream
                  .sbk      application/x-tbook
                  .scm      application/x-lotusscreencam
                  .scm      text/x-script.guile
                  .scm      text/x-script.scheme
                  .scm      video/x-scm
                  .sdml      text/plain
                  .sdp      application/sdp
                  .sdp      application/x-sdp
                  .sdr      application/sounder
                  .sea      application/sea
                  .sea      application/x-sea
                  .set      application/set
                  .sgm      text/sgml
                  .sgm      text/x-sgml
                  .sgml      text/sgml
                  .sgml      text/x-sgml
                  .sh      application/x-bsh
                  .sh      application/x-sh
                  .sh      application/x-shar
                  .sh      text/x-script.sh
                  .shar      application/x-bsh
                  .shar      application/x-shar
                  .shtml      text/html
                  .shtml      text/x-server-parsed-html
                  .sid      audio/x-psid
                  .sit      application/x-sit
                  .sit      application/x-stuffit
                  .skd      application/x-koan
                  .skm      application/x-koan
                  .skp      application/x-koan
                  .skt      application/x-koan
                  .sl      application/x-seelogo
                  .smi      application/smil
                  .smil      application/smil
                  .snd      audio/basic
                  .snd      audio/x-adpcm
                  .sol      application/solids
                  .spc      application/x-pkcs7-certificates
                  .spc      text/x-speech
                  .spl      application/futuresplash
                  .spr      application/x-sprite
                  .sprite      application/x-sprite
                  .src      application/x-wais-source
                  .ssi      text/x-server-parsed-html
                  .ssm      application/streamingmedia
                  .sst      application/vnd.ms-pki.certstore
                  .step      application/step
                  .stl      application/sla
                  .stl      application/vnd.ms-pki.stl
                  .stl      application/x-navistyle
                  .stp      application/step
                  .sv4cpio      application/x-sv4cpio
                  .sv4crc      application/x-sv4crc
                  .svf      image/vnd.dwg
                  .svf      image/x-dwg
                  .svr      application/x-world
                  .svr      x-world/x-svr
                  .swf      application/x-shockwave-flash
                  .t      application/x-troff
                  .talk      text/x-speech
                  .tar      application/x-tar
                  .tbk      application/toolbook
                  .tbk      application/x-tbook
                  .tcl      application/x-tcl
                  .tcl      text/x-script.tcl
                  .tcsh      text/x-script.tcsh
                  .tex      application/x-tex
                  .texi      application/x-texinfo
                  .texinfo      application/x-texinfo
                  .text      application/plain
                  .text      text/plain
                  .tgz      application/gnutar
                  .tgz      application/x-compressed
                  .tif      image/tiff
                  .tif      image/x-tiff
                  .tiff      image/tiff
                  .tiff      image/x-tiff
                  .tr      application/x-troff
                  .tsi      audio/tsp-audio
                  .tsp      application/dsptype
                  .tsp      audio/tsplayer
                  .tsv      text/tab-separated-values
                  .turbot      image/florian
                  .txt      text/plain
                  .uil      text/x-uil
                  .uni      text/uri-list
                  .unis      text/uri-list
                  .unv      application/i-deas
                  .uri      text/uri-list
                  .uris      text/uri-list
                  .ustar      application/x-ustar
                  .ustar      multipart/x-ustar
                  .uu      application/octet-stream
                  .uu      text/x-uuencode
                  .uue      text/x-uuencode
                  .vcd      application/x-cdlink
                  .vcs      text/x-vcalendar
                  .vda      application/vda
                  .vdo      video/vdo
                  .vew      application/groupwise
                  .viv      video/vivo
                  .viv      video/vnd.vivo
                  .vivo      video/vivo
                  .vivo      video/vnd.vivo
                  .vmd      application/vocaltec-media-desc
                  .vmf      application/vocaltec-media-file
                  .voc      audio/voc
                  .voc      audio/x-voc
                  .vos      video/vosaic
                  .vox      audio/voxware
                  .vqe      audio/x-twinvq-plugin
                  .vqf      audio/x-twinvq
                  .vql      audio/x-twinvq-plugin
                  .vrml      application/x-vrml
                  .vrml      model/vrml
                  .vrml      x-world/x-vrml
                  .vrt      x-world/x-vrt
                  .vsd      application/x-visio
                  .vst      application/x-visio
                  .vsw      application/x-visio
                  .w60      application/wordperfect6.0
                  .w61      application/wordperfect6.1
                  .w6w      application/msword
                  .wav      audio/wav
                  .wav      audio/x-wav
                  .wb1      application/x-qpro
                  .wbmp      image/vnd.wap.wbmp
                  .web      application/vnd.xara
                  .wiz      application/msword
                  .wk1      application/x-123
                  .wmf      windows/metafile
                  .wml      text/vnd.wap.wml
                  .wmlc      application/vnd.wap.wmlc
                  .wmls      text/vnd.wap.wmlscript
                  .wmlsc      application/vnd.wap.wmlscriptc
                  .word      application/msword
                  .wp      application/wordperfect
                  .wp5      application/wordperfect
                  .wp5      application/wordperfect6.0
                  .wp6      application/wordperfect
                  .wpd      application/wordperfect
                  .wpd      application/x-wpwin
                  .wq1      application/x-lotus
                  .wri      application/mswrite
                  .wri      application/x-wri
                  .wrl      application/x-world
                  .wrl      model/vrml
                  .wrl      x-world/x-vrml
                  .wrz      model/vrml
                  .wrz      x-world/x-vrml
                  .wsc      text/scriplet
                  .wsrc      application/x-wais-source
                  .wtk      application/x-wintalk
                  .xbm      image/x-xbitmap
                  .xbm      image/x-xbm
                  .xbm      image/xbm
                  .xdr      video/x-amt-demorun
                  .xgz      xgl/drawing
                  .xif      image/vnd.xiff
                  .xl      application/excel
                  .xla      application/excel
                  .xla      application/x-excel
                  .xla      application/x-msexcel
                  .xlb      application/excel
                  .xlb      application/vnd.ms-excel
                  .xlb      application/x-excel
                  .xlc      application/excel
                  .xlc      application/vnd.ms-excel
                  .xlc      application/x-excel
                  .xld      application/excel
                  .xld      application/x-excel
                  .xlk      application/excel
                  .xlk      application/x-excel
                  .xll      application/excel
                  .xll      application/vnd.ms-excel
                  .xll      application/x-excel
                  .xlm      application/excel
                  .xlm      application/vnd.ms-excel
                  .xlm      application/x-excel
                  .xls      application/excel
                  .xls      application/vnd.ms-excel
                  .xls      application/x-excel
                  .xls      application/x-msexcel
                  .xlt      application/excel
                  .xlt      application/x-excel
                  .xlv      application/excel
                  .xlv      application/x-excel
                  .xlw      application/excel
                  .xlw      application/vnd.ms-excel
                  .xlw      application/x-excel
                  .xlw      application/x-msexcel
                  .xm      audio/xm
                  .xml      application/xml
                  .xml      text/xml
                  .xmz      xgl/movie
                  .xpix      application/x-vnd.ls-xpix
                  .xpm      image/x-xpixmap
                  .xpm      image/xpm
                  .x-png      image/png
                  .xsr      video/x-amt-showrun
                  .xwd      image/x-xwd
                  .xwd      image/x-xwindowdump
                  .xyz      chemical/x-pdb
                  .z      application/x-compress
                  .z      application/x-compressed
                  .zip      application/x-compressed
                  .zip      application/x-zip-compressed
                  .zip      application/zip
                  .zip      multipart/x-zip
                  .zoo      application/octet-stream
                  .zsh      text/x-script.zsh

                   

                  Best,

                  Rob

                  • 6. Re: getContentType returns NULL for a list of attachments
                    Brad.White Level 1

                    I discovered that some versions of Acrobat or Reader work while others do not. Acrobat 9 Pro does not include the content type when it assembles it's list of attachments even though it includes everything else. Reader 10 works for many file types but not all. In the end I created a script that checks to see if content type is NULL and if so figure it out based on the mapping you suggested. I built up a HashMap and looked up content type based on the file extension.