JavaWEB前端上传图⽚的⼏种⽅法
1.表单上传
最传统的图⽚上传⽅式是form表单上传,使⽤form表单的input[type=”file”]控件,打开系统的⽂件选择对话框,从⽽达到选择⽂件并上传的⽬的。
web上传图⽚的⼏种⽅法
form表单上传
表单上传需要注意以下⼏点:
(1).提供form表单,method必须是post。
(2).form表单的enctype必须是multipart/form-data。
enctype 属性规定在发送到服务器之前应该如何对表单数据进⾏编码。默认地,表单数据会编码为 "application/x-www-form-urlencoded"。就是说,在发送到服务器之前,所有字符都会进⾏编码。HTML表单如何打包数据⽂件是由enctype这个属性决定的。enctype有以下⼏种取值:
application/x-www-form-urlencoded:在发送前编码所有字符(默认)(空格被编码为’+’,特殊字符被编码为ASCII⼗六进制字符)。multipart/form-data:不对字符编码。在使⽤包含⽂件上传控件的表单时,必须使⽤该值。
text/plain:空格转换为 “+” 加号,但不对特殊字符编码。
默认enctype=application/x-www-form-urlencoded,所以表单的内容会按URL规则编码,然后根据表单的提交⽅法:
method=’get’ 编码后的表单内容附加在请求连接后,
method=’post’ 编码后的表单内容作为post请求的正⽂内容。
(3).提供input type="file"上传输⼊域。
浏览器请求体如下:
web上传图⽚的⼏种⽅法
请求体
2.ajax上传
ajax和FormData可实现页⾯⽆刷新的⽂件上传效果,主要⽤到了jQuery的ajax()⽅法和XMLHttpRequest Level 2的
FormData接⼝。通过FormData对象可以更灵活⽅便的发送表单数据,因为可以独⽴于表单使⽤。如果你把表单的编码类型设置为
multipart/form-data ,则通过FormData传输的数据格式和表单通过submit()⽅法传输的数据格式相同。
web上传图⽚的⼏种⽅法
ajax⽆刷新上传
Ajax⽆刷新上传的⽅式,本质上与表单上传⽆异,只是把表单⾥的内容提出来采⽤ajax提交,并且由前端决定请求结果回传后的展⽰结果。web前端和java哪个难
3.各类插件上传
当上传的需求要求可预览、****显⽰****上传进度、中断上传过程、⼤⽂件分⽚上传等等,这时传统的表单上传很难实现这些功能,我们可以借助现有插件完成。
如百度上传插件Web Uploader、jQuery图⽚预览插件imgPreview 、拖拽上传与图像预览插件Dropzone.js等等,⼤家可根据项⽬实际需求选择适合的插件。

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。