2012-07-31 32 views
1

我有一个表单,包含一个输入类型='文件'的字段,用于上传图片。
我正在寻找调整此字段所选图像大小的方法,但不立即上传。上传前调整图像大小,但同步上传(不是ajax)。可能吗?

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

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

有没有人有什么想法?
谢谢!

PS:有些帖子,几乎做什么,我的愿望:
http://coding.pressbin.com/84/File-API-Resize-photo-before-upload/
Resizing an image in an HTML5 canvas

回答

1

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

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

而且这可能会帮助:Javascript lossless image compression

,并与其他形式的项目基地64编码图像 How to convert image into base64 string using javascript

包括它,如果你并不想这样做将其作为一个字符串

你能否提供更多信息?

+0

谢谢,但我真正需要的是一种方式张贴图像的大小版本一起与其他表单域。 – 2012-07-31 17:41:28

+0

阅读编辑以获取更多信息 – LmC 2012-07-31 19:18:20

+0

我不想触摸实际表单的服务器端表单处理(它由CMS生成),但我认为我别无选择。我试图更改输入字段中的文件数据,但现在由于安全原因,我知道这是不可能的。我会尝试你的解决方案。谢谢! – 2012-07-31 20:05:55