基于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