我正在评估Fine Uploader与其他各种选项进行比较,特别是JQuery File Upload。
与JQuery File Uploader相比,我通常更喜欢Fine Uploader方法,因为它具有依赖于Bootstrap和JQuery UI的JQuery File Uploader。
然而,能够调整图像大小非常重要:例如,用户可能会从相机中选择一个大文件,这可能非常大 - 上传全分辨率照片可能需要很长时间 。 JQuery文件上传这个。
此外,我们对高分辨率文件没有多大用处。
如果可能(我知道某些浏览器可能不支持此功能),我希望能够调整客户端大小的图像。
这可能吗?
答案 0 :(得分:2)
Fine Uploader目前不支持图像操作。这是我们积压的一个功能,但我们没有很多用户告诉我们他们对此感兴趣。这是为什么尚未在本地实现此类功能的原因之一。有一个案例,#707标志着Fine Uploader的本机图像编辑支持的开始。 暂定计划用于4.0。
但是,您当然可以使用FileReader
和Canvas
来调整图片大小。然后,您可以通过Blob
API方法将此已调整大小的图片作为addFiles
提交给Fine Uploader。此时,文件已提交,Fine Uploader已准备好上传该项目。
基本上,在Fine Uploader本身支持图像处理之前,您将遵循处理此特定方案的步骤:
FileReader
读取图像内容。FileReader
会为您提供图片的网址,并将其分配给src
元素的img
属性。img
绘制到canvas
元素上。这是调整大小的地方。canvas
元素(canvas.toDataURL(...)
)中抓取已调整大小的图片的网址。Blob
。 Blob
传递给Fine Uploader的addFiles
API方法。通过向Fine Uploader添加本机图像处理支持,目的是为将来的整合者(例如你自己)提供大部分内容。
希望这有帮助。