diff --git a/var/Typecho/Common.php b/var/Typecho/Common.php
index 32b5daf2..57bc30d9 100644
--- a/var/Typecho/Common.php
+++ b/var/Typecho/Common.php
@@ -1269,6 +1269,8 @@ EOF;
'bin' => 'application/octet-stream',
'oda' => 'application/oda',
'ogg' => 'application/ogg',
+ 'oga' => 'audio/ogg',
+ 'ogv' => 'video/ogg',
'prf' => 'application/pics-rules',
'key' => 'application/pgp-keys',
'pdf' => 'application/pdf',
@@ -1439,6 +1441,7 @@ EOF;
'mpega' => 'audio/mpeg',
'mp2' => 'audio/mpeg',
'mp3' => 'audio/mpeg',
+ 'mp4' => 'video/mp4',
'm3u' => 'audio/x-mpegurl',
'sid' => 'audio/prs.sid',
'aif' => 'audio/x-aiff',
diff --git a/var/Widget/Options.php b/var/Widget/Options.php
index 7eda720d..7daf5f98 100644
--- a/var/Widget/Options.php
+++ b/var/Widget/Options.php
@@ -338,7 +338,7 @@ class Widget_Options extends Typecho_Widget
if (NULL != $this->attachmentTypes) {
$attachmentTypes = str_replace(
array('@image@', '@media@', '@doc@'),
- array('gif,jpg,jpeg,png,tiff,bmp', 'mp3,wmv,wma,rmvb,rm,avi,flv',
+ array('gif,jpg,jpeg,png,tiff,bmp', 'mp3,mp4,mov,wmv,wma,rmvb,rm,avi,flv,ogg,oga,ogv',
'txt,doc,docx,xls,xlsx,ppt,pptx,zip,rar,pdf'), $this->attachmentTypes);
$attachmentTypesResult = array_unique(array_map('trim', preg_split("/(,|\.)/", $attachmentTypes)));
diff --git a/var/Widget/Options/General.php b/var/Widget/Options/General.php
index 22a35ff4..b25fa8bb 100644
--- a/var/Widget/Options/General.php
+++ b/var/Widget/Options/General.php
@@ -174,7 +174,7 @@ class Widget_Options_General extends Widget_Abstract_Options implements Widget_I
$attachmentTypesOptions = array(
'@image@' => _t('图片文件') . ' (gif jpg jpeg png tiff bmp)
',
- '@media@' => _t('多媒体文件') . ' (mp3 wmv wma rmvb rm avi flv)
',
+ '@media@' => _t('多媒体文件') . ' (mp3 mp4 mov wmv wma rmvb rm avi flv ogg oga ogv)
',
'@doc@' => _t('常用档案文件') . ' (txt doc docx xls xlsx ppt pptx zip rar pdf)
',
'@other@' => _t('其他格式 %s', ' '),
);