【问题标题】:Can I convert all files with jquery file upload to jpg?我可以将所有带有 jquery 文件上传的文件转换为 jpg 吗?
【发布时间】:2012-06-28 08:40:11
【问题描述】:

我正在使用jquery file upload 脚本,到目前为止它运行良好。我遇到的最后一个障碍是我只想为我的网站使用 jpg 图片,但允许用户选择上传 gif、png 或 jpg。

我假设我需要更改或向 upload.class.php 文件添加一些额外的方法来完成此操作。

以前有没有人这样做过,如果是,这是要修改的正确文件吗?

【问题讨论】:

  • 只是好奇,你为什么卡在 JPG 上?例如,您可能会因 GIF 到 JPG 的转换而降级,而 PNG 是一种比 JPG 质量更高的格式。你担心压缩吗?
  • 另外,你可能想看看PHP's image utilities。 GD、GMagick 和 ImageMagick 都是图像处理工具。
  • 大小是一个问题,但我开始认为我可以消除 GIF 选项,只需将 PNG 转换为 JPG。我目前有超过十万张图片,而且还在不断增长。在这种情况下将PNG转换为JPG有意义吗?
  • 你的浏览缓存策略是什么? CDN 对这么多可交付成果有意义吗?我猜你最好不要让用户上传PNG并让他们转换它们。如果您想节省空间/带宽,JPG 不是无损压缩。
  • 我想这并不重要,因为我可以通过网络提供任何一种格式,但我们也有后台的 Android 和 iOS 应用程序也需要访问这些图像。

标签: php jquery


【解决方案1】:

如果您想在纯 JavaScript 中实现它,您将需要编写一些非常困难的转换函数,并且您将受限于支持 FileAPIFileReference 的现代浏览器。此外,您必须编写的转换函数将在二进制级别处理文件,并且必须遵守 GIF/JPEG/PNG 标准规范指定的一些非常严格的文件结构。

我记得SWFUpload(一个 Flash - ActionScript - JavaScript 库)嵌入了此功能,您可以指定它将文件发送到服务器的格式,但它仅适用于您希望使用调整大小功能它将原始文件的调整大小版本发送到服务器,但它有一些缺点。

【讨论】:

  • 我认为 Javascript/jQuery 部分是噪音。这主要是一个PHP问题。请参阅问题中的upload.class.php 参考。
  • 是的,我知道,我见过很多误导性的问题,开始是“我如何在 javascript 中做到这一点”,最后是“哦,这通常是后端的事情......但我”我更擅长 javascript,哦,好吧..."
  • 但是为了覆盖更多可能稍后阅读此答案的人,我将根据问题给出完整的答案。我必须在客户端进行图像处理以避免服务器端的内存限制,即使限制非常大,服务器配置很难跟上新的高密度相机,这些相机发送 12-15mb 的文件,而 PHP 未能调整其大小SWFUpload 就像一个魅力。
猜你喜欢
  • 2014-02-10
  • 2023-03-20
  • 1970-01-01
  • 1970-01-01
  • 2016-06-04
  • 2013-08-30
  • 1970-01-01
  • 2023-02-15
  • 1970-01-01
相关资源
最近更新 更多