in src/java/org/apache/fulcrum/parser/DefaultParameterParser.java [387:418]
public String getFileName(Part part)
{
final String partHeader = part.getHeader("content-disposition");
// rfc2183, rfc5987 quoted string, but attachments may have not?
Pattern regex = Pattern.compile("filename\\*?=\"?(.[^\"]+)\"?");
for (String content : partHeader.split(";"))
{
// could also filename*=<encoding>''<value>
if (content.trim().contains( "filename" ))
{
String fnTmp = "";
String srcStr = content.trim();
Matcher regexMatcher = regex.matcher(srcStr);
if (regexMatcher.find())
{
fnTmp = regexMatcher.group(1);
if (getLogger().isDebugEnabled())
{
getLogger().debug( "matched fileName:" + fnTmp );
}
} else {
// last resort
fnTmp = srcStr.substring(srcStr.indexOf('=')+1).replace( "\"", "" );
getLogger().debug( "second fileName match:" + fnTmp );
}
return fnTmp.trim();
}
}
return null;
}