在将其保存在服务器上之前更改 mime 类型的图片

Posted

技术标签:

【中文标题】在将其保存在服务器上之前更改 mime 类型的图片【英文标题】:Change mime type pictures before save it on server 【发布时间】:2015-11-08 19:11:56 【问题描述】:

我有代码:

//Get image from form
$image = $_FILES['image']['tmp_name'];
//Convert to base64
$imageData = base64_encode(file_get_contents($image));
//Set mime type
header('Content-Type: image/gif');
//Decode to image
$image = base64_decode($imageData);
//Save in server
$res = file_put_contents(ROOT_DIR . "/uploads/fotos/" . $row['user_id'] . ".gif", $image);

问题在于此时就是header('Content-Type: image / gif');在浏览器中显示图像。如何更改 mime 类型不会将结果输出到浏览器。最终目标是以 gif 的格式和类型将所有图像保存在服务器上。

【问题讨论】:

您只需要在将图像提供给浏览器时进行 MIME 类型。如果您只是将其保存为服务器上的文件,那么您所做的应该没问题。 【参考方案1】:

如果你只是将图片上传到服务器上,那么你不需要使用

header('Content-Type: image/gif');// remove this

它用于将图像文件输出到浏览器。 如果一切正常,则使用php文件上传功能上传文件

move_uploaded_file ( string $filename , string $destination )

【讨论】:

以上是关于在将其保存在服务器上之前更改 mime 类型的图片的主要内容,如果未能解决你的问题,请参考以下文章

在将其发送到视图(节点 js)之前,无法更改路由中 MongoDB/MongooseJS 的结果

我可以在将文件保存到 Vim 之前查看更改吗?

Android - 在将位图保存到 SDCARD 以获取结果之前压缩位图

在将多个文件上传到服务器之前验证多个文件上传中的单个文件

在 drupal 7 中更改 CDN 中的视频内容类型(mime 类型)

为啥 CSS 文件会以错误的 MIME 类型保存:text/troff?