--Matt--
---------- Original Message ----------------------------------
From: "Bryan Stevenson" <[EMAIL PROTECTED]>
Reply-To: [EMAIL PROTECTED]
Date: Wed, 16 Jun 2004 12:40:44 -0700
Hey Matt,
I grabbed a UDF from cflib.org and made it into a function in my utility CFC to assign the correct mime type
Enjoy ;-)
<!---(Function: GetMimeType)------------------------------------------------------
Date Created: April 21, 2004
Author: Bryan
Arguments: filename - name of file with extension (string) required
Purpose: Determines mime type of file
Returns: (string)
--->
<cffunction name="GetMimeType" returnType="string" access="public">
<cfargument name="FileName" type="string" required="Yes">
<cfscript>
mimeStruct=structNew();
fileExtension ="";
mimeType = "";
//extract file extension from file name
fileExtension = Reverse(SpanExcluding(Reverse(ARGUMENTS.fileName),"."));
//build mime type array
mimeStruct.ai="application/postscript";
mimeStruct.aif="audio/x-aiff";
mimeStruct.aifc="audio/x-aiff";
mimeStruct.aiff="audio/x-aiff";
mimeStruct.asc="text/plain";
mimeStruct.au="audio/basic";
mimeStruct.avi="video/x-msvideo";
mimeStruct.bcpio="application/x-bcpio";
mimeStruct.bin="application/octet-stream";
mimeStruct.c="text/plain";
mimeStruct.cc="text/plain";
mimeStruct.ccad="application/clariscad";
mimeStruct.cdf="application/x-netcdf";
mimeStruct.class="application/octet-stream";
mimeStruct.cpio="application/x-cpio";
mimeStruct.cpt="application/mac-compactpro";
mimeStruct.csh="application/x-csh";
mimeStruct.css="text/css";
mimeStruct.dcr="application/x-director";
mimeStruct.dir="application/x-director";
mimeStruct.dms="application/octet-stream";
mimeStruct.doc="application/msword";
mimeStruct.drw="application/drafting";
mimeStruct.dvi="application/x-dvi";
mimeStruct.dwg="application/acad";
mimeStruct.dxf="application/dxf";
mimeStruct.dxr="application/x-director";
mimeStruct.eps="application/postscript";
mimeStruct.etx="text/x-setext";
mimeStruct.exe="application/octet-stream";
mimeStruct.ez="application/andrew-inset";
mimeStruct.f="text/plain";
mimeStruct.f90="text/plain";
mimeStruct.fli="video/x-fli";
mimeStruct.gif="image/gif";
mimeStruct.gtar="application/x-gtar";
mimeStruct.gz="application/x-gzip";
mimeStruct.h="text/plain";
mimeStruct.hdf="application/x-hdf";
mimeStruct.hh="text/plain";
mimeStruct.hqx="application/mac-binhex40";
mimeStruct.htm="text/html";
mimeStruct.html="text/html";
mimeStruct.ice="x-conference/x-cooltalk";
mimeStruct.ief="image/ief";
mimeStruct.iges="model/iges";
mimeStruct.igs="model/iges";
mimeStruct.ips="application/x-ipscript";
mimeStruct.ipx="application/x-ipix";
mimeStruct.jpe="image/jpeg";
mimeStruct.jpeg="image/jpeg";
mimeStruct.jpg="image/jpeg";
mimeStruct.js="application/x-_javascript_";
mimeStruct.kar="audio/midi";
mimeStruct.latex="application/x-latex";
mimeStruct.lha="application/octet-stream";
mimeStruct.lsp="application/x-lisp";
mimeStruct.lzh="application/octet-stream";
mimeStruct.m="text/plain";
mimeStruct.man="application/x-troff-man";
mimeStruct.me="application/x-troff-me";
mimeStruct.mesh="model/mesh";
mimeStruct.mid="audio/midi";
mimeStruct.midi="audio/midi";
mimeStruct.mif="application/vndmimeStruct.mif";
mimeStruct.mime="www/mime";
mimeStruct.mov="video/quicktime";
mimeStruct.movie="video/x-sgi-movie";
mimeStruct.mp2="audio/mpeg";
mimeStruct.mp3="audio/mpeg";
mimeStruct.mpe="video/mpeg";
mimeStruct.mpeg="video/mpeg";
mimeStruct.mpg="video/mpeg";
mimeStruct.mpga="audio/mpeg";
mimeStruct.ms="application/x-troff-ms";
mimeStruct.msh="model/mesh";
mimeStruct.nc="application/x-netcdf";
mimeStruct.oda="application/oda";
mimeStruct.pbm="image/x-portable-bitmap";
mimeStruct.pdb="chemical/x-pdb";
mimeStruct.pdf="application/pdf";
mimeStruct.pgm="image/x-portable-graymap";
mimeStruct.pgn="application/x-chess-pgn";
mimeStruct.png="image/png";
mimeStruct.pnm="image/x-portable-anymap";
mimeStruct.pot="application/mspowerpoint";
mimeStruct.ppm="image/x-portable-pixmap";
mimeStruct.pps="application/mspowerpoint";
mimeStruct.ppt="application/mspowerpoint";
mimeStruct.ppz="application/mspowerpoint";
mimeStruct.pre="application/x-freelance";
mimeStruct.prt="application/pro_eng";
mimeStruct.ps="application/postscript";
mimeStruct.qt="video/quicktime";
mimeStruct.ra="audio/x-realaudio";
mimeStruct.ram="audio/x-pn-realaudio";
mimeStruct.ras="image/cmu-raster";
mimeStruct.rgb="image/x-rgb";
mimeStruct.rm="audio/x-pn-realaudio";
mimeStruct.roff="application/x-troff";
mimeStruct.rpm="audio/x-pn-realaudio-plugin";
mimeStruct.rtf="text/rtf";
mimeStruct.rtx="text/richtext";
mimeStruct.scm="application/x-lotusscreencam";
mimeStruct.set="application/set";
mimeStruct.sgm="text/sgml";
mimeStruct.sgml="text/sgml";
mimeStruct.sh="application/x-sh";
mimeStruct.shar="application/x-shar";
mimeStruct.silo="model/mesh";
mimeStruct.sit="application/x-stuffit";
mimeStruct.skd="application/x-koan";
mimeStruct.skm="application/x-koan";
mimeStruct.skp="application/x-koan";
mimeStruct.skt="application/x-koan";
mimeStruct.smi="application/smil";
mimeStruct.smil="application/smil";
mimeStruct.snd="audio/basic";
mimeStruct.sol="application/solids";
mimeStruct.spl="application/x-futuresplash";
mimeStruct.src=""> mimeStruct.step="application/STEP";
mimeStruct.stl="application/SLA";
mimeStruct.stp="application/STEP";
mimeStruct.sv4cpio="application/x-sv4cpio";
mimeStruct.sv4crc="application/x-sv4crc";
mimeStruct.swf="application/x-shockwave-flash";
mimeStruct.t="application/x-troff";
mimeStruct.tar="application/x-tar";
mimeStruct.tcl="application/x-tcl";
mimeStruct.tex="application/x-tex";
mimeStruct.texi="application/x-texinfo";
mimeStruct.texinfo="application/x-texinfo";
mimeStruct.tif="image/tiff";
mimeStruct.tiff="image/tiff";
mimeStruct.tr="application/x-troff";
mimeStruct.tsi="audio/TSP-audio";
mimeStruct.tsp="application/dsptype";
mimeStruct.tsv="text/tab-separated-values";
mimeStruct.txt="text/plain";
mimeStruct.unv="application/i-deas";
mimeStruct.ustar="application/x-ustar";
mimeStruct.vcd="application/x-cdlink";
mimeStruct.vda="application/vda";
mimeStruct.viv="video/vndmimeStruct.vivo";
mimeStruct.vivo="video/vndmimeStruct.vivo";
mimeStruct.vrml=""> mimeStruct.wav="audio/x-wav";
mimeStruct.wrl="model/vrml";
mimeStruct.xbm="image/x-xbitmap";
mimeStruct.xlc="application/vnd.ms-excel";
mimeStruct.xll="application/vnd.ms-excel";
mimeStruct.xlm="application/vnd.ms-excel";
mimeStruct.xls="application/vnd.ms-excel";
mimeStruct.xlw="application/vnd.ms-excel";
mimeStruct.xml="text/xml";
mimeStruct.xpm="image/x-xpixmap";
mimeStruct.xwd="image/x-xwindowdump";
mimeStruct.xyz="chemical/x-pdb";
mimeStruct.zip="application/zip";
</cfscript>
<cfif(structKeyExists(mimeStruct,fileExtension))>
<cfset MimeType = mimeStruct[fileExtension]>
<cfelse>
<cfset MimeType= "unknown/unknown">
</cfif>
<cfreturn MimeType>
</cffunction>
Bryan Stevenson B.Comm.
VP & Director of E-Commerce Development
Electric Edge Systems Group Inc.
t. 250.920.8830
e. [EMAIL PROTECTED]
---------------------------------------------------------
Macromedia Associate Partner
www.macromedia.com
---------------------------------------------------------
Vancouver Island ColdFusion Users Group
Founder & Director
www.cfug-vancouverisland.com
----- Original Message -----
From: Matt Robertson
To: CF-Talk
Sent: Wednesday, June 16, 2004 12:36 PM
Subject: Re: fyi: Win XP SP2 RC available
Thanks Bryan, but its not much better than the MS doc on this score.
One thing for sure: I've been lazy and used application/unknown to force a file download dialog. I'll have to revise my downloaders to specify a proper mime type and leave it to the user to be able to save what they get in the browser (i.e. a Word doc displaying onscreen).
-------------------------------------------
Matt Robertson, [EMAIL PROTECTED]
MSB Designs, Inc. http://mysecretbase.com
-------------------------------------------
________________________________________________________________
Sent via the WebMail system at mysecretbase.com
[Todays Threads] [This Message] [Subscription] [Fast Unsubscribe] [User Settings] [Donations and Support]

