diff --git sites/all/modules/apachesolr_attachments/apachesolr_attachments.module sites/all/modules/apachesolr_attachments/apachesolr_attachments.module
index 0c321b5..340342b 100644
--- sites/all/modules/apachesolr_attachments/apachesolr_attachments.module
+++ sites/all/modules/apachesolr_attachments/apachesolr_attachments.module
@@ -395,3 +395,82 @@ function apachesolr_attachments_remove_attachments_from_index($nid) {
     watchdog('Apache Solr Attachments', nl2br(check_plain($e->getMessage())), NULL, WATCHDOG_ERROR);
   }
 }
+
+/**
+ * Implements hook_apachesolr_field_name_map_alter().
+ */
+function apachesolr_attachments_apachesolr_field_name_map_alter(&$map) {
+  $map['ss_filemime'] = t('File MIME type');
+}
+
+/**
+ * Implements hook_apachesolr_facets().
+ */
+function apachesolr_attachments_apachesolr_facets() {
+  $facets = array();
+  $facets['ss_filemime'] = array(
+    'info' => t('Attachment: Filter by MIME type'),
+    'facet_field' => 'ss_filemime',
+  );
+  return $facets;
+}
+
+/**
+ * Implements hook_block_info().
+ */
+function apachesolr_attachments_block_info() {
+  $server_id = apachesolr_default_server();
+  $enabled_facets = apachesolr_get_enabled_facets($server_id, 'apachesolr_attachments');
+  $facets = apachesolr_attachments_apachesolr_facets();
+  // Add the blocks
+  $blocks = array();
+  foreach ($enabled_facets as $delta => $facet_field) {
+    if (isset($facets[$delta])) {
+      $blocks[$delta] = $facets[$delta] + array('cache' => DRUPAL_CACHE_PER_PAGE);
+    }
+  }
+  return $blocks;
+}
+
+/**
+ * Implements hook_block_view().
+ */
+function apachesolr_attachments_block_view($delta = '') {
+  if (apachesolr_has_searched()) {
+    // Get the query and response. Without these no blocks make sense.
+    $response = apachesolr_static_response_cache();
+    if (empty($response)) {
+      return;
+    }
+    $query = apachesolr_current_query();
+    $server_id = apachesolr_default_server();
+    $facets = apachesolr_get_enabled_facets($server_id, 'apachesolr_attachments');
+
+    if (empty($facets[$delta])) {
+      return;
+    }
+
+    if (!apachesolr_block_visibility($query, 'apachesolr_attachments', $delta)) {
+      return;
+    }
+
+    switch ($delta) {
+      case 'ss_filemime':
+        return apachesolr_facet_block($response, $query, 'apachesolr_attachments', $delta, t('Filter by file MIME type'));
+    }
+  }
+}
+
+/**
+ * Implements of hook_block_configure().
+ */
+function apachesolr_attachments_block_configure($delta = '') {
+  return apachesolr_facetcount_form('apachesolr_attachments', $delta);
+}
+
+/**
+ * Implements of hook_block_save().
+ */
+function apachesolr_attachments_block_save($delta = '', $edit = array()) {
+  apachesolr_facetcount_save($edit);
+}
