鍍金池/ 問答/網(wǎng)絡(luò)安全  HTML/ element upload :data傳的額外參數(shù)要怎么獲???

element upload :data傳的額外參數(shù)要怎么獲???

我用element做圖片上傳,傳了額外參數(shù),要怎么獲取這個(gè)額外參數(shù)?
我在on-success上打印的file是這樣的,:data傳的額外參數(shù)存在哪?
圖片描述

部分代碼:

<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>
    價(jià)格:
    <input   type="text" v-model="color_info.price" >
    <br>
    庫(kù)存:
    <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> 

我想要的是傳圖片的同時(shí)傳color_info,我想在on-success中獲取傳的color_info.color_name,我沒找到傳的color_info在哪,也可以在后臺(tái)獲取傳的color_info.color_name,所以我就想知道:data傳的參數(shù)存在file的哪里,怎么獲取

回答
編輯回答
生性

upload的data屬性是給后臺(tái)的,upload提供的鉤子里的參數(shù)都不會(huì)有這個(gè)data

如果要在success 中訪問data,可以在自己data中加一個(gè)currentUploadData ,在Upload 組件中加一個(gè)@click.native = xxxx(color_info)事件并且把color_info傳遞進(jìn)去,xxxx方法中讓this.currentUploadData = color_info,然后在success 中通過this.currentUploadData來color_info。

不過一次上傳多個(gè)文件時(shí),success 也會(huì)調(diào)用多次,這點(diǎn)請(qǐng)注意

2018年2月9日 01:37
編輯回答
我以為

上傳組件加data的屬性
:data="uploadIconData"(我的uploadIconData是一個(gè)對(duì)象:{"thumbnail": true})

2017年11月14日 08:09
編輯回答
互擼娃

以PHP后臺(tái)為例。普通的接收object格式數(shù)據(jù)就行。
HTML::data="data"
JS:data:{"id":"123"}
PHP:
// 響應(yīng)類型

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;
2017年5月24日 04:55