剛開始遇到了很多坑,為了避免大家踩坑,直接上代碼:
template
<u-upload ref="uUpload" :action="action" :auto-upload="true" max-count="9" name="image" size-type="['compressed']" max-size="3145728" > </u-upload> <u-button @click="submit">提交</u-button>
script
data() { return { // 服務器地址 action: getApp().globalData.api_url +'/index/Api/upload', } }, methods: { submit() { let files = []; // 通過filter,篩選出上傳進度為100的文件(因為某些上傳失敗的文件,進度值不為100,這個是可選的操作) files = this.$refs.uUpload.lists.filter(val => { return val.progress == 100; }) // 如果您不需要進行太多的處理,直接如下即可 // files = this.$refs.uUpload.lists; console.log(files) }, }
PHP
//接收圖片信息並存在本地 public function upload(){ // 獲取表單上傳文件 $file = request()->file('image'); // 移動到框架應用根目錄/uploads/ 目錄下 $info = $file->validate(['size'=>3145728,'ext'=>'jpg,png,gif,JPG,PNG'])->move( '../public/uploads'); if($info){ // 成功上傳后 獲取上傳信息 $return_data = array( 'code'=>0, 'msg'=>"圖片上傳成功!", 'result'=>"uploads/".$info->getSaveName(), ); return json_encode($return_data); }else{ // 上傳失敗獲取錯誤信息 $return_data = array( 'code'=>1, 'msg'=>$file->getError(), ); return json_encode($return_data); } }