Skip to content

Instantly share code, notes, and snippets.

@thaniaclair
Last active December 17, 2015 05:49
Show Gist options
  • Save thaniaclair/5561133 to your computer and use it in GitHub Desktop.
Save thaniaclair/5561133 to your computer and use it in GitHub Desktop.
Armazena mime types e gera seus content types de acordo com o arquivo carregado.
import javax.activation.MimetypesFileTypeMap;
/**
* Armazena mime types e gera seus content types de acordo com o arquivo carregado.
* @author thania.clair
*/
public class MimeTypeGenerator {
private String filename;
public MimeTypeGenerator(String filename) {
this.filename = filename;
}
/**
* Recupera o content type, dado a extensão do arquivo.
* @return content type de um arquivo.
*/
public String getContentType() {
MimetypesFileTypeMap mimeTypesMap = getMimeTypesMap();
return mimeTypesMap.getContentType(filename.toLowerCase());
}
/**
* Carrega um mapa com os mime types mais utilizados.
* @return {@link MimetypesFileTypeMap}.
*/
private MimetypesFileTypeMap getMimeTypesMap() {
MimetypesFileTypeMap mimeTypesMap = new MimetypesFileTypeMap();
mimeTypesMap.addMimeTypes("application/pdf pdf");
mimeTypesMap.addMimeTypes("application/msword doc");
mimeTypesMap.addMimeTypes("application/vnd.openxmlformats-officedocument.wordprocessingml.document docx");
mimeTypesMap.addMimeTypes("application/vnd.ms-excel xls");
mimeTypesMap.addMimeTypes("application/vnd.openxmlformats-officedocument.spreadsheetml.sheet xlsx");
mimeTypesMap.addMimeTypes("image/gif gif");
mimeTypesMap.addMimeTypes("image/jpeg jpeg");
mimeTypesMap.addMimeTypes("image/bmp bmp");
mimeTypesMap.addMimeTypes("image/x-png png");
mimeTypesMap.addMimeTypes("text/html html");
mimeTypesMap.addMimeTypes("text/xml xml");
mimeTypesMap.addMimeTypes("text/plain txt");
mimeTypesMap.addMimeTypes("video/avi avi");
mimeTypesMap.addMimeTypes("video/mpeg mpeg");
mimeTypesMap.addMimeTypes("audio/wav wav");
return mimeTypesMap;
}
public String getFilename() {
return filename;
}
public void setFilename(String filename) {
this.filename = filename;
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment