vue+iview上传图片

有时候需要用到图片上传,而且是和其他字符串类型一并上传,比如修改含头像的个人信息时。这时候我们可以利用FormData来拼成一个form表单来上传,这种方法简便可行。我用的是vue+iview。
比如注册个人信息
首先将页面写出来:

<Form v-model="basicInfo">
	<FormItem label="头像">
      <div>
           <Upload
               :before-upload="upload_handleUpload"
               :show-upload-list="false"
               action="/info/save">
               <img class="headimg" :src="basicInfo.head_url?basicInfo.head_url:bg_default">
           </Upload>
       </div>
    </FormItem>
  	<FormItem label="昵称">
        <Input placeholder="昵称" class="infoInput" v-model.trim="basicInfo.nickname"></Input>
    </FormItem>
    <FormItem label="账号">
        <Input placeholder="账号" class="infoInput" v-model.trim="basicInfo.num"></Input>
    </FormItem>
  </Form>
  <Button type="primary" @click="saveinfo()" >保存</Button>

然后,需要声明用到的变量:

data(){
    return{
    	basicInfo:{ 
			head_url:'',
			nickname:'',
			num:''
		},    
		imgFile :null  //图片文件
    }
 }

用到的方法:

upload_handleUpload(file){
	this.imgFile = file;
    this.basicInfo.head_url= window.URL.createObjectURL(file);
    return;
},
// 保存修改
saveinfo(){
    let formData = new FormData();

    formData.append('headfile', this.imgFile );
    formData.append('nickname', this.basicInfo.nickname);
    formData.append('num', this.basicInfo.num);
    ...(此处发送请求,参数是 formData )...
},

整体很简单,能简单实现上传图片,复杂的可以在基础上修改。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值