如何在上传前从用户裁剪图像/预览图像?

时间:2011-10-28 08:14:36

标签: javascript jquery file-io

我想让用户上传他的照片。

在他从本地计算机中选择图片后,我的最终目标是保存某些特定尺寸(矩形)图像的缩略图。 为了保持纵横比,我必须提示用户裁剪该图像,然后我将为它创建缩略图。

为此,我想到了首先上传然后将图像预览给用户的方法 然后我会使用外部插件(jcrop我猜)来裁剪该图像
然后最终将其发送到服务器。

我无法预览图片。 一些消息来源暗示如此

<input type="file" onclick="preview(this)" >

与JS:

function preview()
{
 alert(this.value);
 //code to append the image content in some div.
}

但我只能在警告框中看到文件的最终图像名称(例如abc.jpg),而不是整个路径(例如/ home / blah / blah .. /abc.jpg)

有什么方法可以让用户预览图像,以便我可以裁剪它然后发送到服务器?或者我是否必须先将原始文件保存到服务器,然后只显示用户工具以裁剪他最近添加的图像。

1 个答案:

答案 0 :(得分:0)

您尝试存档的内容实际上是不可能的:使用JavaScript从用户的本地计算机上抓取图像。 (多么安全问题)。

但是在某些浏览器中(只认为它是chrome)你可以使用这种方法:http://html5demos.com/file-api-simple

...

抱歉蹩脚的回答,现在真的很累...... :)但你还是可以理解吗?

安德烈亚斯