extjs怎么使图片上传时显示预览
1个回答
展开全部
这个我做过,不难,思路给你
1.是当文本框内容发生改变的时候就将图片上传到服务器(如果图片小,用户是感觉不到你已经做了上传操作的。)
2.当服务器接受到这个图片的时候,将其放入到一个临时文件夹中并返回给前台一个图片路径(图片流也可以)。
3.Ajax请求会有一个相应,在服务器端成功接受到上传的图片后,返回给Ajax一个Reponse,这个Reponse里包含一个图片路径。
4.ExtJS在前台获取success里的responseText之后(也就是图片路径)将默认图片的src指向从后台反馈回来的图片路径。
现在图片就会现实出来
流程是:
用户选择图片-->
触发文本框改变事件--->
在事件中通过AJAX将图片上传给服务器--->
服务器将图片名称修改为UUID以免重复,并将此图片的路径返回给前台--->
前台AJAX请求的回调函数中获取responseText,也就是图片路径--->
设置默认图片的src为responseText---->
用户重新选择的时候(例如用户不喜欢这张图)--->
在文本框改变事件中通过AJAX将图片上传(包括先前上传的图片名称)--->
后台根据参数先删除临时图片--->
重复以上的步骤直到用户确定
需要注意的问题:
1.当用户改变了图片之后,需要把上一次的临时图片文件删除掉,以免出现垃圾图片过多。
2.每次上传图片的时候要在后面跟上一个随机参数(因为如果请求路径和参数相同,浏览器不会再继续发送请求)。通常情况下使用new Date()就可以了例如
"uploadImag.do?method=uploadImage&randomParam="+new Date()
3.图片太大的话,效果不是很好。
4.当用户点击确定后,将临时文件里的图片放置到你的正式图片存放目录下即可。
5.图片上传到后台使用UUID改名字,否则可能有重复
1.是当文本框内容发生改变的时候就将图片上传到服务器(如果图片小,用户是感觉不到你已经做了上传操作的。)
2.当服务器接受到这个图片的时候,将其放入到一个临时文件夹中并返回给前台一个图片路径(图片流也可以)。
3.Ajax请求会有一个相应,在服务器端成功接受到上传的图片后,返回给Ajax一个Reponse,这个Reponse里包含一个图片路径。
4.ExtJS在前台获取success里的responseText之后(也就是图片路径)将默认图片的src指向从后台反馈回来的图片路径。
现在图片就会现实出来
流程是:
用户选择图片-->
触发文本框改变事件--->
在事件中通过AJAX将图片上传给服务器--->
服务器将图片名称修改为UUID以免重复,并将此图片的路径返回给前台--->
前台AJAX请求的回调函数中获取responseText,也就是图片路径--->
设置默认图片的src为responseText---->
用户重新选择的时候(例如用户不喜欢这张图)--->
在文本框改变事件中通过AJAX将图片上传(包括先前上传的图片名称)--->
后台根据参数先删除临时图片--->
重复以上的步骤直到用户确定
需要注意的问题:
1.当用户改变了图片之后,需要把上一次的临时图片文件删除掉,以免出现垃圾图片过多。
2.每次上传图片的时候要在后面跟上一个随机参数(因为如果请求路径和参数相同,浏览器不会再继续发送请求)。通常情况下使用new Date()就可以了例如
"uploadImag.do?method=uploadImage&randomParam="+new Date()
3.图片太大的话,效果不是很好。
4.当用户点击确定后,将临时文件里的图片放置到你的正式图片存放目录下即可。
5.图片上传到后台使用UUID改名字,否则可能有重复
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询