【问题标题】:Crop images using jQuery fileupload使用 jQuery 文件上传裁剪图像
【发布时间】:2014-01-12 08:12:32
【问题描述】:

我刚刚开始实现文件上传功能,想知道添加裁剪功能的最佳方法是什么。

基本上,我希望用户能够按照我给定的纵横比裁剪他们的图像。我目前拥有的是使用 jQuery 文件上传插件的功能文件上传。当我选择一个文件时,它会自动通过 ajax 将文件上传到我的后端并做一些事情(保存图像、生成缩略图等)。我检查了一些关于前端裁剪功能的插件,发现 jQuery imgareaselect 符合我的要求。

所以我的问题是,如何将裁剪逻辑与我目前拥有的逻辑相匹配?所以当用户上传文件时,文件会自动上传并保存在后端。那么如果我选择裁剪图像,它应该只发送坐标并重新裁剪已经保存的图像吗?

一些逻辑流程和示例会很有帮助。谢谢!

【问题讨论】:

  • 如果您要将完整图像发送到服务器,无论您想将裁剪坐标发送到服务器并让服务器负责裁剪它。但是,如果您不需要支持旧版浏览器,您可以在使用 HTML5 File API 将图像发送到服务器之前在浏览器中进行裁剪,从而节省带宽和存储空间。
  • @Thayne 我计划支持旧版浏览器。你是说我必须通过另一个请求(与 jquery fileupload 无关)发送裁剪坐标,然后在后端裁剪图像?
  • 可能还有其他方法可以做到这一点,例如您可以让服务器发回图像或图像的 url 并对其进行操作,但如果您想支持 IE9 或更早版本,请发送后端的坐标和裁剪可能是最简单的解决方案。
  • 您也可以使用 flash 或(我有点畏缩)silverlight 之类的东西,甚至是 Java 小程序。
  • 我明白了,是的,我想我会发送坐标并在后端进行裁剪。如果你愿意,你可以发表你的评论作为答案,所以我可以接受。谢谢!

标签: jquery file-upload crop image-resizing jquery-file-upload


【解决方案1】:

如果您不想发送两个请求。您可以创建 img 标签并通过 JavaScript 加载图像并打开图像进行裁剪。 Jcrop 也是一个很好的图像裁剪工具,它接受纵横比作为参数。返回您选择的坐标。并且您可以一次传递图像和坐标。

【讨论】:

    猜你喜欢
    • 2012-02-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-05-06
    • 2014-05-22
    • 2017-08-05
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多