1 |
|
---|
2 | function MimeLookup(label,re,mimetype,status)
|
---|
3 | {
|
---|
4 | this.label = label;
|
---|
5 | this.re = re;
|
---|
6 | this.mimetype = mimetype;
|
---|
7 | this.status = status;
|
---|
8 | }
|
---|
9 |
|
---|
10 |
|
---|
11 | var lookup = new Array (
|
---|
12 | new MimeLookup("Unknown", /^$/i, "application/octet-stream", "unknown"),
|
---|
13 | new MimeLookup("Adobe PDF", /\.pdf$/i, "application/pdf", "known"),
|
---|
14 | new MimeLookup("XML", /\.xml$/i, "text/xml", "known"),
|
---|
15 | new MimeLookup("Text", /\.(txt|asc)$/i, "text/plain", "known"),
|
---|
16 | new MimeLookup("HTML", /\.(htm|html)$/i, "text/html", "known"),
|
---|
17 | new MimeLookup("Microsoft Word", /\.doc$/i, "application/msword", "known"),
|
---|
18 | new MimeLookup("Microsoft Powerpoint", /\.ppt$/i, "application/vnd.ms-powerpoint ", "known"),
|
---|
19 | new MimeLookup("Microsoft Excel", /\.xls$/i, "application/vnd.ms-excel", "known"),
|
---|
20 | new MimeLookup("MARC", /\.marc$/i, "application/marc", "known"),
|
---|
21 | new MimeLookup("JPEG", /\.(jpeg|jpg)$/i, "image/jpeg", "known"),
|
---|
22 | new MimeLookup("GIF", /\.gif$/i, "image/gif", "known"),
|
---|
23 | new MimeLookup("image/png", /\.png$/i, "image/png", "known"),
|
---|
24 | new MimeLookup("TIFF", /\.(tiff|tif)$/i, "image/tiff", "known"),
|
---|
25 | new MimeLookup("AIFF", /\.(aiff|aif|aifc)$/i, "audio/x-aiff", "known"),
|
---|
26 | new MimeLookup("audio/basic", /\.(au|snd)$/i, "audio/basic", "known"),
|
---|
27 | new MimeLookup("WAV", /\.wav$/i, "audio/x-wav", "known"),
|
---|
28 | new MimeLookup("MPEG", /\.(mpeg|mpg|mpe)$/i, "video/mpeg", "known"),
|
---|
29 | new MimeLookup("RTF", /\.rtf$/i, "text/richtext", "known"),
|
---|
30 | new MimeLookup("Microsoft Visio", /\.vsd$/i, "application/vnd.visio", "known"),
|
---|
31 | new MimeLookup("FMP3", /\.fm$/i, "application/x-filemaker", "known"),
|
---|
32 | new MimeLookup("BMP", /\.bmp$/i, "image/x-ms-bmp", "known"),
|
---|
33 | new MimeLookup("Photoshop", /\.(psd|pdd)$/i, "application/x-photoshop", "known"),
|
---|
34 | new MimeLookup("Postscript", /\.(ps|eps|ai)$/i, "application/postscript", "known"),
|
---|
35 | new MimeLookup("Video Quicktime", /\.(mov|qt)$/i, "video/quicktime", "known"),
|
---|
36 | new MimeLookup("MPEG Audio", /\.(mpa|abs|mpega)$/i, "audio/x-mpeg", "known"),
|
---|
37 | new MimeLookup("Microsoft Project", /\.(mpp|mpx|mpd)$/i, "application/vnd.ms-project", "known"),
|
---|
38 | new MimeLookup("Mathematica", /\.ma$/i, "application/mathematica", "known"),
|
---|
39 | new MimeLookup("LateX", /\.latex$/i, "application/x-latex", "known"),
|
---|
40 | new MimeLookup("TeX", /\.tex$/i, "application/x-tex", "known"),
|
---|
41 | new MimeLookup("TeX dvi", /\.dvi$/i, "application/x-dvi", "known"),
|
---|
42 | new MimeLookup("SGML", /\.(sgm|sgml)$/i, "application/sgml", "known"),
|
---|
43 | new MimeLookup("WordPerfect", /\.wpd$/i, "application/wordperfect5.1", "known"),
|
---|
44 | new MimeLookup("RealAudio", /\.(ra|ram)$/i, "audio/x-pn-realaudio", "known"),
|
---|
45 | new MimeLookup("Photo CD", /\.pcd$/i, "image/x-photo-cd", "known")
|
---|
46 | );
|
---|
47 |
|
---|
48 |
|
---|
49 | function lookup_ext(filename)
|
---|
50 | {
|
---|
51 |
|
---|
52 | for (var i=0; i<lookup.length; i++) {
|
---|
53 | var re = lookup[i].re;
|
---|
54 | if (re.test(filename)) {
|
---|
55 | return lookup[i].label + " (" + lookup[i].status + ")";
|
---|
56 | }
|
---|
57 | }
|
---|
58 |
|
---|
59 | return "unknown";
|
---|
60 | } |
---|