图片上传 axios

<div v-if="photoShow">
   图片上传:
   <input type="file" placeholder="商品图片" class="marleft marright clearmoren" id="chuan" ref="search">
   <el-button type="primary" round size="mini" @click="upload">上传</el-button>
</div>
//上传图片
upload: function () { 
   var f = this.$ref.photo;
   console.dir(f.files[0]);
   let param = new FormData();
   param.append('img', f.files[0]);//通过append向form对象添加数据
   console.log(param.get('img')); //FormData私有类对象,访问不到,可以通过get判断值是否传进去
   let config = {
     headers: { 'Content-Type': 'multipart/form-data' }
   };  //添加请求头
   axios.post(this.$store.state.https + this.$store.state.geturl.upload + '?token=' + this.$store.state.tokenstatic, param, config)
   .then(response => {
      this.form.url = this.$store.state.geturl.photourl + response.data.data.url;
         console.log(this.form.url)
         if (this.form.url) {
           alert('图片上传成功')
         }
  })
},

  • 6
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
ElementUI是一款基于Vue.js的UI组件库,而Axios则是一个基于Promise的HTTP库,它可以方便地发送与接收HTTP请求。要在ElementUI中实现图片上传功能,我们可以借助Axios来发送POST请求。 首先,我们需要在Vue组件中引入ElementUI和Axios,可以在组件的`mounted()`生命周期函数中引入,也可以在`<script>`标签内引入。 接下来,需要在Vue组件的`data`中定义一个`file`对象,用于保存上传的图片文件。同时,需要在模板中加入一个`<el-upload>`标签,该标签实现了ElementUI的文件上传功能。 在`<el-upload>`标签中,可以设置上传的URL、上传文件的类型、最大上传数量等选项。其中,关键的是设置`action`属性,该属性指定了图片上传的后端URL。 在点击图片上传按钮后,`@change`事件会触发一个方法。该方法中,我们可以通过`FormData`对象来创建一个表单数据,然后通过Axios的`post`方法将表单数据发送到后端。在发送请求时,可以指定`headers`头部,用于指定文件的MIME类型等信息。 在后端接收到上传的图片数据后,可以进行相应的处理,例如保存图片文件、生成图片链接等。 最后,可以在Vue组件中设置一个回调函数来处理上传成功或失败的情况。 总结起来,使用ElementUI和Axios实现图片上传的步骤如下: 1. 引入ElementUI和Axios 2. 在`data`中定义一个`file`对象 3. 在模板中使用`<el-upload>`标签,并设置相关属性和事件 4. 实现文件上传的方法,使用Axios发送POST请求,将图片文件作为表单数据发送到后端 5. 后端接收到图片数据后进行处理 6. 设计上传成功或失败的处理函数 以上即为使用ElementUI和Axios实现图片上传的简要过程,希望对您有所帮助。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值