【问题标题】:Resize image before upload, but upload synchronously (not ajax). Is it possible?上传前调整图像大小,但同步上传(不是 ajax)。是否可以?
【发布时间】:2012-07-31 15:02:42
【问题描述】:

我有一个包含一些字段的表单,包括输入类型='file',用于上传图片。
我正在寻找一种方法来调整此字段选择的图像大小,但不立即上传。

我已经阅读了一些教授以下过程的教程:
1 - 使用文件字段上的“onchange”事件捕获图像;
2 - 创建具有所需图像大小的画布元素;
3 - 在画布元素中绘制图像并读取其内容;
4 - 使用 FormData 异步发送图像数据 (ajax)。

我想在第 3 步之前做同样的事情,然后在用户单击表单的提交按钮时将调整大小的图像与其他字段一起发送。

有人知道吗?
谢谢!

Ps:有些帖子几乎符合我的要求:
http://coding.pressbin.com/84/File-API-Resize-photo-before-upload/
Resizing an image in an HTML5 canvas

【问题讨论】:

    标签: javascript image forms resize


    【解决方案1】:

    如果您想调整图像大小以节省空间,请尝试: http://www.researchandtechnology.net/bcif/

    这是一种 JavaScript 图像压缩算法。

    这也可能有帮助:Javascript lossless image compression

    并将其包含在其他表单项中,base 64 对图像进行编码 How to convert image into base64 string using javascript

    并将其作为字符串发送

    如果您不想这样做,您能否提供更多信息?

    【讨论】:

    • 谢谢,但我真正需要的是一种将调整大小的图像版本与其他表单字段一起发布的方法。
    • 我不想接触实际表单的服务器端的表单处理(它是由CMS生成的),但我认为我别无选择。我试图更改输入字段中的文件数据,但现在我知道由于安全原因这是不可能的。我会尝试你的解决方案。谢谢!
    • 这应该在客户端工作,如果你对它进行编码,这将使它成为一个字符串,它是我在将 JSON 中的图像发送到服务器时所做的,如果有帮助,也许可以为你找到一个例子?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2010-11-02
    • 2015-06-19
    • 2019-03-07
    • 2015-08-06
    • 2011-04-16
    相关资源
    最近更新 更多