图片上传的思路

来源:互联网 发布:java 安卓开发 编辑:程序博客网 时间:2024/06/06 02:04
1)基于KindEditor,js做了很多修饰方便我们展现(图片上传窗口,上传进度条,可视化。)
依赖KindEditor因为有公用展示的页面。
2)可以一次上传多张图片 我们一般插入5张。
3)KindeEditor是独立的js插件,不能操作服务器资源,这套控件必须有一套语言,
必须有一个服务器端的开发语言,但支持jsp,他只是显示提交选择图片,<form enctype=”multipart/form-data”>,需要公用controller。
选择,作为一个二进制流要上传。接收不是js做得,是需要后台controller。
4)controller中要做什么事情?公用的,别的地方也能使用。
最突出的就是form表单提交类型不一样。 
action="/pic/upload" 设置controller图片上传路径
 method="POST" post方式提交
 enctype="multipart/form-data"
a.接收文件(之前是使用流機制去實現 現在不需要了。),使用Springmvc,MultipartFile对象这个对象就封装了上传的文件
b.***前提:必须在springmvc中配置文件上传解析器
id="multipartResolver"配置必须写死,因为源码中写死了。
导包:common包,io和file-upload
<!-- 定义文件上传解析器 -->
<bean id="multipartResolver"
class="org.springframework.web.multipart.commons.CommonsMultipartResolver">
<!-- 设定默认编码 -->
<property name="defaultEncoding" value="UTF-8"></property>
<!-- 设定文件上传的最大值10MB,10*1024*1024 --> 10兆
<property name="maxUploadSize" value="10485760"></property>
</bean>
c.判断是否为木马,如果为木马?删除! 如果不是木马继续!
判斷依據是什麼?
如果是图片对象,图片对象有width和height,如果没有这两个属性,这不是图片。删除的是临时上传的文件 不是客户端的,是存放在服务端的临时文件。
d.绝对路径,相对路径
绝对路径:
相对路径:真实存在?http:的 不是!虚拟的,映射到磁盘的某个路径。
http://image.iqiq.com/images/2016/04/25/2016042502095921402458.jpg  网络地址的连接 我们需将建一个单独的图片服务器。
//img13.360buyimg.com/n7/jfs/t3271/32/21166658/248747/1625e51a/57a04924N0aa59490.jpg
绝对路径,图片文件最终就存放到这个路径中 图片的最终出处。 
c:\jt-upload/images/yyyy/MM/dd/hh/mm/ss/yyyymmddhhmmssssssrandom3.jpg
0 0