summaryrefslogtreecommitdiff
path: root/rt/share/html/Ticket/Attachment/dhandler
diff options
context:
space:
mode:
Diffstat (limited to 'rt/share/html/Ticket/Attachment/dhandler')
-rwxr-xr-xrt/share/html/Ticket/Attachment/dhandler9
1 files changed, 7 insertions, 2 deletions
diff --git a/rt/share/html/Ticket/Attachment/dhandler b/rt/share/html/Ticket/Attachment/dhandler
index 75efeffbc..eb291e4f5 100755
--- a/rt/share/html/Ticket/Attachment/dhandler
+++ b/rt/share/html/Ticket/Attachment/dhandler
@@ -48,7 +48,7 @@
<%perl>
my ($ticket, $trans,$attach, $filename);
my $arg = $m->dhandler_arg; # get rest of path
- if ($arg =~ '^(\d+)/(\d+)') {
+ if ($arg =~ m{^(\d+)/(\d+)}) {
$trans = $1;
$attach = $2;
}
@@ -79,7 +79,12 @@
my $enc = $AttachmentObj->OriginalEncoding || 'utf-8';
my $iana = Encode::find_encoding( $enc );
$iana = $iana? $iana->mime_name : $enc;
- $content_type .= ";charset=$iana";
+
+ require MIME::Types;
+ my $mimetype = MIME::Types->new->type($content_type);
+ unless ( $mimetype && $mimetype->isBinary ) {
+ $content_type .= ";charset=$iana";
+ }
$r->subprocess_env('no-gzip' => 1); # disable mod_deflate
$r->content_type( $content_type );