亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

無法訪問從 axios 請求到 laravel 的上傳文件

無法訪問從 axios 請求到 laravel 的上傳文件

PHP
慕容708150 2022-09-03 16:38:00
我正在為一個項目構建課程部分,其中一個部分中的多個講座可以有多個文件。我無法將文件發送到Laravel控制器。Vue 表單<input type="file" id="files" name="files[]" ref="resources" multiple @change="onFilesSelect($event, lec_index)">方法onFilesSelect(event, lec_index){            let files_count = event.target.files.length;            var files_data = [];            for(let i = 0;i<files_count;i++){                files_data[i] = event.target.files[i];            }            Vue.set(this.selected_files, lec_index, files_data);            //this.course_files = this.$refs.resources.files;        },表單數據let formData = new FormData();            var selected_files_count = this.selected_files.length;            for(let j=0;j<selected_files_count;j++){                let resources = this.selected_files[j];                formData.append('files['+ j +']', resources);            }Axios post requestconst id = this.current_course_id;            const url = `/create-curriculum/${id}`;            //const url = 'course-uploadfile';            axios.post(url, formData,{                headers: {                    'Content-Type': 'multipart/form-data'                    }                })                .then(response=>{                    console.log(response);                })                .catch(error=>{                    console.log(error);                });顯示文件的 Vue 開發工具拉拉維爾控制器public function create_curriculum(Request $request, $id){        $data = $request->all();        print_r($data);}輸出Array(    [files] => Array        (            [0] => [object File],[object File]            [1] => [object File],[object File]        ))我無法在 [對象文件] 中查看文件信息。
查看完整描述

1 回答

?
夢里花落0921

TA貢獻1772條經驗 獲得超6個贊

在兩種方法進行以下更改后得到了解決方案。


在 Vue 數據對象中添加。form: new FormData


在文件上,選擇


onFilesSelect(event, lec_index){

            let files_count = event.target.files.length;

            var files_data = [];

            for(let i = 0;i<files_count;i++){

                files_data.push(event.target.files[i]);

            }

            Vue.set(this.selected_files, lec_index, files_data);

        },

文件上傳時


files_store(){

 for(let i = 0; i< this.selected_files.length; i++){

                    for (let j = 0; j < this.selected_files[i].length; j++) {

                        this.form.append('files['+ i +']['+ j +']', this.selected_files[i][j]);

    }

}               


查看完整回答
反對 回復 2022-09-03
  • 1 回答
  • 0 關注
  • 73 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號