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

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

用多維數組存儲多個圖像

用多維數組存儲多個圖像

PHP
qq_遁去的一_1 2021-12-24 15:37:45
我正在嘗試創建一個問題系統,允許用戶創建動態數量的問題以及動態數量的答案(他們可以從基于簡單文本的答案到基于圖像的答案中進行選擇)。在請求中包含以下圖像文件集合:'image_opt' =>array:4 [▼          0 => array:1 [▼              0 => "file_q1_1"              1 => "file_q1_2"          ]          1 => array:1 [▼              0 => "file_q2_1"              1 => "file_q2_2"          ]          2 => array:4 [▼              0 => "file_q3_1"              1 => "file_q3_2"              2 => "file_q3_3"              3 => "file_q3_4"          ]      ]如何獲取每個文件并將其存儲在服務器中?到目前為止,我已經嘗試過這個$answer = new Answer();$file = $request->image_opt[$i][$j];$name = str_random(45) . $file->getClientOriginalExtension();$folder = '/uploads/answers/';$path = $file->storeAs($folder, $name, 'public');$answer->answer = $folder . $name;$answer->question_id = $question->id;$answer->max_weight = 0;$answer->weight = $request->image_weight[$i][$j];$answer->answer_type_id = $question->question_type_id;$answer->save();問題是......我無法獲取文件,根據錯誤,我當時只有字符串。Call to a member function storeAs() on string也試過哪個也沒用。$file = $request->file(image_opt[$i][$j]);如何從集合中獲取每個文件?$i 代表正在存儲的當前問題,$j 代表正在存儲的答案,img_opt 是文件的集合。
查看完整描述

1 回答

?
素胚勾勒不出你

TA貢獻1827條經驗 獲得超9個贊

確保您的<form>元素具有enctype="multipart/form-data"在 Laravel 中正確處理圖片上傳的屬性。忽略這一點可能會導致問題,顯然就是這種情況。

<form method="POST" action="..." enctype="multipart/form-data">

這個錯誤:

在字符串上調用成員函數 storeAs()

是由于如何$request->image_opt[$i][$j]默認string為上傳圖像的值。這相當于調用$request->input("image_opt")[$i][$j],但這不是一個input()變量,它是一個file()變量。

下一個錯誤:

為 foreach() 提供的參數無效

出于同樣的原因,foreach($request->file("image_opt) AS $images){ ... }正在返回nullwhenenctype被省略。它應該是一個數組,如果你使用了它就會是一個數組,$request->input()但這也是一個錯誤。

TL:博士;不要忘記enctype; 省略它是遇到各種問題的原因。


查看完整回答
反對 回復 2021-12-24
  • 1 回答
  • 0 關注
  • 158 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

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

幫助反饋 APP下載

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

公眾號

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