下载GD图像作为附件php

发布于 2024-10-31 21:41:21 字数 414 浏览 0 评论 0原文

用户在隐藏字段中发布图像数据。我将表格发送到空白页。实际的图像是使用 GD 库在服务器端创建的,然后用户可以下载它。到目前为止一切顺利,但 Firefox 不会下载图像,它只是内联显示它。我使用这段代码:

header('Content-type: image/jpeg');

header('Content-Disposition: attachment; filename="'.($_POST['savename']?$_POST['savename']:'yourpainting').'.'.$ext.'"');
imagejpeg($imagecreatedbygdlib)

如果我使用“application/octet-stream”或“application/force-download”,Firefox只会下载php页面。

The user posts image data in a hidden field. I send the form to a blank page. The actual image is created server-side with the GD library and then the user can download it. So far so good, but Firefox doesn't download the image, it just displays it inline. I use this code:

header('Content-type: image/jpeg');

header('Content-Disposition: attachment; filename="'.($_POST['savename']?$_POST['savename']:'yourpainting').'.'.$ext.'"');
imagejpeg($imagecreatedbygdlib)

If I use 'application/octet-stream' or 'application/force-download' Firefox just downloads the php page.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

来日方长 2024-11-07 21:41:21

您可能需要以下所有标头

header("Content-Transfer-Encoding: binary");
header('Content-Description: File Transfer');
header('Content-Type: ' . $file_type);
header('Content-Length: ' . $file_size);
header('Content-Disposition: attachment; filename=' . $file_name);

要获取 file_size,您需要临时保存文件或缓冲输出。

You may need all of the following headers

header("Content-Transfer-Encoding: binary");
header('Content-Description: File Transfer');
header('Content-Type: ' . $file_type);
header('Content-Length: ' . $file_size);
header('Content-Disposition: attachment; filename=' . $file_name);

To get the file_size, you will either need to save the file temporarily, or buffer the output.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文