Je télécharge une pièce jointe à l'aide d'une chaîne base64 de l'API Gmail. Lorsque j'ouvre le fichier téléchargé en utilisant Windows, je vois l'erreur 'We can't open this file'
. J'ai vérifié les en-têtes de $data
tableau et ils sont corrects, j'ai également vérifié la taille du fichier téléchargé et c'est aussi la bonne taille.Impossible d'ouvrir le fichier téléchargé à partir de la chaîne base64 API Gmail
-je télécharger le fichier en utilisant le ci-dessous:
$data = $json['data'];
$data = strtr($data, array('-' => '+', '_' => '/'));
$image = base64_decode($data);
header('Content-Type: image/jpg; name="crop-1.jpg"');
header('Content-Disposition: attachment; filename="crop-1.jpg"');
header('Content-Transfer-Encoding: base64');
header('X-Attachment-Id: f_j1bj7er60');
readfile($image);
// I have also tried
echo $image;
La chaîne $image
est valide parce que si j'utilise le dessous de l'image affiche correctement:
echo "<div>
<img src=\"data:image/jpg;base64, $image\" />
</div>";
Comment puis-je corriger le fichier télécharger?
Je peux déjà afficher l'image, le problème est avec le téléchargement de l'image, après son téléchargé et j'ouvrir le fichier que je vois « Nous ne pouvons pas ouvrir ce fichier » – user3312792
Sory, après la mise à jour. – Scaffold