如何设置MIMEtypes的应用程序/ vnd.apple.pkpass为了共享通过链接或电子邮件

我只是创build一个应用程序和通行证,所以我可以添加通行证在iPod的存折。 但我不能通过电子邮件或从networking服务器链接。 通过从苹果公司读取的文件,我需要添加MIMEtypes为application / vnd.apple.pkpass。 但是,我不明白我应该采取的措施。 我不怎么使用MIMEtypes。 我不知道该怎么做 因此,你知道如何添加这个MIMEtypes为了使用从Web服务传递?

阿帕奇

将以下行添加到:

  • 服务于您的.pkpass的目录中的.htaccess
  • mime.types文件或
  • 到你的appache httpd.conf或virtuatl server .conf文件

然后重新启动Apache(如果添加到.htaccess不需要)

 AddType application/vnd.apple.pkpass pkpass 

nginx的

mime.types下行添加到您的mime.types文件并重新启动nginx

 application/vnd.apple.pkpass pkpass; 

IIS

  1. 打开IISpipe理器并导航到您想要pipe理的级别。
  2. 在“function视图”中,双击“MIMEtypes”。
  3. 在“操作”窗格中,单击“添加”。
  4. 在添加MIMEtypes.pkpass
  5. 在MIME文本框中键入application.vnd.pkpass
  6. 点击OK
  7. 重新启动IIS

如果您通过脚本提供文件并且无法编辑您的Web服务器configuration,则可以在发送任何内容之前添加以下行:

PHP

 header('Content-Type: application/vnd.apple.pkpass'); 

C#

 WebClient client = new WebClient(); client.Headers.Add("Content-Type", "application/vnd.apple.pkpass"); 

对于纯粹的PHP解决scheme,将.pkpass软件包添加到服务器,然后创build以下文件并将其命名为pass.php。

 <?php $pkpass_file = '/path/to/your/.pkpass/file/GenericMemberCard.pkpass'; header("Pragma: no-cache"); header("Cache-Control: no-store, no-cache, must-revalidate, post-check=0, pre-check=0"); header("Content-Type: application/vnd.apple.pkpass"); header('Content-Disposition: attachment; filename="pass.pkpass"'); clearstatcache(); $filesize = filesize($pkpass_file); if ($filesize) header("Content-Length: ". $filesize); header('Content-Transfer-Encoding: binary'); if (filemtime($pkpass_file)) { date_default_timezone_set("UTC"); header('Last-Modified: ' . date("D, d MYH:i:s", filemtime($pkpass_file)) . ' GMT'); } flush(); readfile($pkpass_file); 

然后创build第二个文件链接到您上面创build的文件。

 <a href="pass.php">Click to download your pass</a>