如何设置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
- 打开IISpipe理器并导航到您想要pipe理的级别。
- 在“function视图”中,双击“MIMEtypes”。
- 在“操作”窗格中,单击“添加”。
- 在添加MIMEtypes
.pkpass
- 在MIME文本框中键入
application.vnd.pkpass
- 点击OK
- 重新启动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>