uniapp 使用uview框架完成圖片上傳,后端Thinkphp5.1


剛開始遇到了很多坑,為了避免大家踩坑,直接上代碼:

  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);
        }
    }

  


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM