3

我正在评估Fine Uploader与其他各种选项相比,特别是JQuery File Upload

与依赖于 Bootstrap 和 JQuery UI 的 JQuery File Uploader 相比,我通常更喜欢 Fine Uploader 方法,因为它更轻量级。

然而,能够调整图像大小很重要:例如,用户可能会从他们的相机中选择一个大文件,这可能非常大 - 上传全分辨率照片可能需要很长时间。JQuery 文件上传就是这样做的。

此外,我们对非常高分辨率的文件没有太多用处。

如果可能(我知道某些浏览器可能不支持此功能),我希望能够调整图像客户端大小。

这可能吗?

4

1 回答 1

2

Fine Uploader 目前没有对图像处理的任何原生支持。这是我们积压中的一个功能,但我们没有很多用户告诉我们他们对此感兴趣。这是尚未在本地实现此类功能的原因之一。有一个案例#707标志着 Fine Uploader 开始支持原生图像编辑。暂定为4.0。

但是,您当然可以使用FileReaderCanvas调整图像大小。然后,您可以通过API 方法将此调整大小的图像作为文件提交Blob给 Fine Uploader 。addFiles此时,文件已提交,Fine Uploader 已准备好上传项目。

本质上,在 Fine Uploader 原生支持图像处理之前,您将按照以下步骤处理此特定场景:

  1. 提供您自己的文件输入元素或利用 Fine Uploader 的文件/文件夹拖放支持来处理用户选择的某些文件。
  2. 用于FileReader读取图像的内容。
  3. FileReader将为您提供图像的 URL,将其分配给元素的src属性。img
  4. 将 绘制imgcanvas元素上。这是调整大小的地方。
  5. canvas从元素 ( canvas.toDataURL(...))中获取调整大小图像的 URL 。
  6. 将 URL 转换为Blob.
  7. 传递BlobaddFilesFine Uploader 的 API 方法。

The intent is to take care of most if not all of this for integrators such as yourself in the future by adding native image manipulation support to Fine Uploader.

Hope this helps.

于 2013-04-08T14:55:11.850 回答