これは、php ツールキットとエンタープライズ wsdl を使用して Salesforce.com から添付ファイルをダウンロードするための私のコードです。
header('Content-Type: application/force-download');
header('Content-Disposition: inline; filename="image.jpg"');
$mySforceConnection = getConnection();
$query = "SELECT Id, Name, Body from Attachment Where Id ='" .$id ."'";
$queryResult = $mySforceConnection->query($query);
$records = $queryResult->records;
print_r(base64_decode($records[0]->fields->Body));
これを行うと、ファイルは正しいバイト数で正しくダウンロードされますが、画像を開くと、Windows 画像ビューアーで破損していると表示されます。なぜこれが起こっているのですか?
同じコードは、PDF とテキスト ファイルに対しても正常に機能します。