vue+axios+el-upload实现文件上传(带参数):

本次使用http-request自定义文件上传:

<el-upload class="upload-demo" action="string" :http-request="uploadFile" :limit="1" :show-file-list="false">
	<el-button size="small" type="primary">上传头像</el-button>
</el-upload>

备注:不要自己设置请求头类型,让浏览器自己解析,如果在main.js中配置了post参数序列化的可能会导致浏览器解析上传文件格式错误(415错误Unsupported Media Type);请将此配置注释掉;

 async uploadFile(params) {
     
     		// 可以在上传之前就行文件类型和大小处理
            var formData = new FormData();
            formData.append('annex', params.file);
            console.log(params.file);
            formData.append('userid', this.sessionInfo.userid);
            formData.append('sid', this.sessionInfo.session);
            const {
      data: res } = await this.$http.post(
                'http://219.1:80/updheadimg',
                formData
            );
            if (res.code !== 0) {
     
                return this.message.error('上传头像失败');
            }
            console.log(res);
        },

第一次在这里发表博客比较简短,希望可以给大家一点帮助,有问题可以在下方一起交流;

你可能感兴趣的:(vue.js,javascript,html5,web开发,upload)