【element-ui】element upload :data传的额外参数要怎么获取?

我用element做图片上传,传了额外参数,要怎么获取这个额外参数?
我在on-success上打印的file是这样的,:data传的额外参数存在哪?
图片描述

部分代码:

<div v-for="(color_info,index_color) in color_list1" >

颜色:

<input type="text" v-model="color_info.color_name">

<a @click="delete_color(index_color)" class="btn btn-info">删除颜色</a>

<br>

价格:

<input type="text" v-model="color_info.price" >

<br>

库存:

<input type="text" v-model="color_info.stock" >

<el-upload class="avatar-uploader"

action="http://localhost/bishe2/back/imge.php"

:show-file-list="false"

:on-success="handleAvatarSuccess2"

:before-upload="beforeAvatarUpload"

:data="color_info">

<img v-if="color_url" :src="color_url" class="avatar">

<i v-else class="el-icon-plus avatar-uploader-icon"></i>

</el-upload>

</div>

我想要的是传图片的同时传color_info,我想在on-success中获取传的color_info.color_name,我没找到传的color_info在哪,也可以在后台获取传的color_info.color_name,所以我就想知道:data传的参数存在file的哪里,怎么获取

回答:

上传组件加data的属性
:data="uploadIconData"(我的uploadIconData是一个对象:{"thumbnail": true})

回答:

upload的data属性是给后台的,upload提供的钩子里的参数都不会有这个data

如果要在success 中访问data,可以在自己data中加一个currentUploadData ,在Upload 组件中加一个@click.native = xxxx(color_info)事件并且把color_info传递进去,xxxx方法中让this.currentUploadData = color_info,然后在success 中通过this.currentUploadData来color_info。

不过一次上传多个文件时,success 也会调用多次,这点请注意

回答:

以PHP后台为例。普通的接收object格式数据就行。
HTML::data="data"
JS:data:{"id":"123"}
PHP:
// 响应类型

header('Access-Control-Allow-Methods:post');

$fileName = $_FILES["file"]["name"];

......

$json= array('id'=>$_POST['id']);

$arr = json_decode(json_encode($json),true);

$id = $arr['id'];

echo "id:".$id;

以上是 【element-ui】element upload :data传的额外参数要怎么获取? 的全部内容, 来源链接: utcz.com/a/152824.html

回到顶部