2014-02-18 105 views
2

我正在使用媒体模块将媒体保存在CDN中。要播放视频,我们在Drupal 7中使用jwplayer。Jwplayer在IE中抛出错误,如果视频不是content type [mime type] * video/mp4 *。我已将现有的CDN视频mime类型从application/octet-stream更改为视频/ mp4在drupal 7中更改CDN中的视频内容类型(mime类型)

现在无论MP4视频被上传/保存到CDN只应视频/ MP4 MIME类型,但是当我上传在媒体模块的MP4视频是MIME类型应用程序/八位字节流,如何保存在CDN我是否将上传的mime type [content type]更改为视频/ mp4

CDN module code 

function CDNtransfer_content($source,$destination) { 

     $s3=_CDN_transfer_load(); 

     $up_bucket="cdn.example.com"; 

     $uploadOk=null; 

     $expires=date('D, d M Y H:i:s O', strtotime('+10 year')); 

     $headers=array('Content-Type' => 'video/mp4', 'Expires' => $expires); 

     if($destination) 
     { 
         $up_state=$s3->putObject($up_bucket, $destination, $source, 'true', $headers); 

         if($s3->objectExists($up_bucket, $destination)) { 
          $uploadOk =1; 
         } 
         else { 
          $uploadOk ="Error: File Not Uploaded Correctly. Please try again."; 
         } 
     } 
     return $uploadOk; 
} 

即使设置上面的标题似乎不工作!不知道为什么?

我们在drupal中使用我们的自定义模块s3 php sdk 2 aws stand alone class

如何在媒体模块Drupal 7中更改mime type[content type]视频/ mp4当mp4视频正在上传时。

回答

1

MIME-TYPE是服务器端设置。您可以要求您的主机提供商为您添加MP4 MIME-TYPE。

或者,您可以将.htaccess文件添加到存储上传的目录。

,增加了对MP4的MIME类型的样本.htaccess文件是:

<IfModule mod_rewrite.c> 
    AddType video/mp4 .mp4 
</IfModule> 

如果您无法添加MIME类型正确,一个工作,你周围可以使用很给力的JW播放器作为运行Flash,这是有关MIME类型不太严格,加入这一行,你的播放器的嵌入代码:

primary: 'flash', 

让我知道,如果这有助于!

+0

我正在与我的团队检查....我发现这里的东西类似http://stackoverflow.com/a/10040559/1877909 我们没有任何选择喜欢这个 ?? – Hitesh

+0

您是否将文件存储在blob上? – emaxsaun

+0

我改变了.htaccess文件,但似乎没有为CDN.I找到这两个链接有一些什么simliar问题,但没有解决方案 - > http://stackoverflow.com/questions/9090708/why-is- this-mime-type-in​​correct ..... https://forums.aws.amazon.com/thread.jspa?messageID=420907񦰫 – Hitesh

1

找到了答案:

1)由于伊森说:“一个MIME-TYPE是一个服务器端的设置你可以问问你的托管服务提供商添加了MP4 MIME类型为你

或者,。您可以将.htaccess文件添加到您上传的目录中“。

,增加了对MP4的MIME类型的样本.htaccess文件是:

<IfModule mod_rewrite.c> 
    AddType video/mp4 .mp4 
</IfModule>" 

来源:Need to Change Video Content Type to video/mp4 so it plays in IE

但是,这并没有为我工作,出于某种原因

2)我做在我用于CDN上传的drupal模块中使用的核心类文件中的更改 我在class.s3.php文件中进行了更改 - >在mime_type []数组中,并且还使用putObject()函数进行了交叉检查。

**

MIME类型的设置始终在编码端,而不是在AWS S3 桶做,我们需要使用AWS PHP类文件或SDK做 操纵MIME类型或做在核心类 文件(如class.s3.php)进行必要的修改

** 详情点击这里find-mime-type-of-file-or-url-using-php-for-all-file-format

第二个答案已经为我工作:)