001 package railo.runtime.functions.file; 002 003 import railo.commons.io.res.Resource; 004 import railo.commons.io.res.util.ResourceUtil; 005 import railo.commons.lang.StringUtil; 006 import railo.runtime.PageContext; 007 import railo.runtime.exp.PageException; 008 import railo.runtime.op.Caster; 009 010 public class FileGetMimeType { 011 public static String call(PageContext pc, Object oSrc) throws PageException { 012 return call(pc, oSrc, true); 013 } 014 015 016 public static String call(PageContext pc, Object oSrc, boolean checkHeader) throws PageException { 017 Resource src = Caster.toResource(pc,oSrc,false); 018 pc.getConfig().getSecurityManager().checkFileLocation(src); 019 020 // check type 021 int checkingType=checkHeader?ResourceUtil.MIMETYPE_CHECK_HEADER:ResourceUtil.MIMETYPE_CHECK_EXTENSION; 022 023 String mimeType = ResourceUtil.getMimeType(src, checkingType, null); 024 if(StringUtil.isEmpty(mimeType,true)) return "application/octet-stream"; 025 return mimeType; 026 } 027 }