基于Ajax的formData图片和数据上传
最近做一个项目,关于用户数据和表单上传的项目,碰到了不少坑,这里总结的分享给大家,希望能够帮助大家。(小白,欢迎大家多交流)
多的就不说了,直接来代码吧!!
1、上传组件
说明一下,项目是基于vue框架的
开心就好的小店
最近做一个项目,关于用户数据和表单上传的项目,碰到了不少坑,这里总结的分享给大家,希望能够帮助大家。(小白,欢迎大家多交流)
多的就不说了,直接来代码吧!!
1、上传组件
说明一下,项目是基于vue框架的
开心就好的小店
说明,包含两个上传图片的组件,前面一个有multiple为多文件模式,即一次可选择多张图片,后面的是单文件模式。
2、接下来是图片的预览
viewimg($event){ //获取当前的input标签 varcurrentObj=event.currentTarget; //找到要预览的图片img标签,亦可动态生成 varimg=currentObj.parentNode.children[0]; setImagePreview(currentObj,img); functionsetImagePreview(docObj,imgObjPreview){ if(docObj.files&&docObj.files[0]){ imgObjPreview.style.display='block'; imgObjPreview.src=window.URL.createObjectURL(docObj.files[0]); } } }
这一部分的主要功能是将选中的图片进行展示,当然啦,这里并没有出来多张图片的情况
3、核心部分,图片上传
/*采用formData形式上传图片和表单数据*/ upload:function(){ var_self=this; varformData=newFormData(); varinputs=$("input.fileupload"); for(vari=0;i说明:
类似于formData.append(‘barterCategoryid',_self.goodstype);是一种键值对的形式保存数据,而formData.append(“file”,file.files[0],file.files[0].name);第一个参数为服务端接收的参数名,第二个为文件对象,第三参数为文件名称,这样可以将多个文件添加为数组的形式给服务器。
后端接收该类型的文件时类型指定为:MultipartFile类型
特别说明:
processData:false,
contentType:false,
这两句一定要加上,否则数据会被序列化,而导致后端不能识别
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持毛票票。
热门推荐
- 返回顶部
- 3162201930
- czq8825@qq.com