【发布时间】:2019-08-10 13:38:44
【问题描述】:
我有一个带有 Dropzone div 的表单,用于上传带有其他数据的大量图像。
但是,由于图像是使用 ajax 上传的,因此我需要知道为这些图像分配了哪些 ID。
当我将这些 id 保存在会话数据中时,问题就出现了。它只保存第一个和最新的 id。
例如,当我提交 4 张图片时,它会返回第二个也是最后一个 id。
??????
我的控制器方法(通过 Ajax):
public function store(Request $request)
{
$photos = $request->file('file');
if (!is_array($photos))
$photos = [$photos];
if (!is_dir($this->photos_path))
mkdir($this->photos_path, 0777);
for ($i = 0; $i < count($photos); $i++) {
$photo = $photos[$i];
$name = sha1(date('YmdHis') . str_random(30));
$save_name = $name . '.' . $photo->getClientOriginalExtension();
$resize_name = $name . str_random(2) . '.' . $photo->getClientOriginalExtension();
Image::make($photo)
->resize(250, null, function ($constraints) {
$constraints->aspectRatio();
})
->save($this->photos_path . '/' . $resize_name);
$photo->move($this->photos_path, $save_name);
$upload = new UploadedImages();
$upload->filename = $save_name;
$upload->resized_name = $resize_name;
$upload->original_name = basename($photo->getClientOriginalName());
$upload->user_id = Auth::id();
$upload->save();
Session::push('uploaded_images_ids', $upload->id);
}
return Response::json(['message' => 'Image saved Successfully'], 200);
}
【问题讨论】: