php - 为什么在 Laravel 5.6 的编辑视图文件中没有更新图像?
问题描述
我在我的 laravel 应用程序中有编辑刀片文件。在此编辑表单中,更新数据保存到车辆和上传的两个表。我在编辑刀片文件更新图像到上传表中有以下代码,
@foreach( $vehicles-> uploads as $upload)
<img id="preview"
src="{{asset((isset($upload) && $upload->resized_name!='')?'images/'.$upload->resized_name:'images/noimage.png')}}"
height="200px" width="200px"/>
<input class="form-control" style="display:none" name="files[]" type="file" id="files" name="_token" value="{{ csrf_token() }}" enctype="multipart/form-data">
<br/>
<a href="javascript:changeProfile();">Add Image</a> |
<a class="button is-outlined" href="/myads/{{$upload->id}}/delete" onclick="return confirm('Are you sure to want to delete this record?')" >Delete</a></td>
<hr>
@endforeach
@endif
更新控制器是,
$photos = $request->file('files');
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 = Upload::find($id);
$upload->filename = $save_name;
$upload->resized_name = $resize_name;
$upload->original_name = basename($photo->getClientOriginalName());
$upload->vehicle_id = $vehicle->id;
$upload->save();
}
路线是,
Route::post('myads/{id}', [
'uses' => '\App\Http\Controllers\VehicleController@update',
])->name('vehicles.edit');
但是当我附加图像并单击更新按钮时,它不会更新上传表中的图像。如何解决这个问题?
解决方案
我认为您在更新控制器中使用了错误的方法。
if (!is_array($photos)) {
$photos = [$photos];
}
请尝试此方法将字符串转换为数组。
if (!is_array($photos)) {
$photos = explode(' ', $photos);
}
推荐阅读
- python-3.x - 不同的 Python 安装
- sql - LOAD DATA INPATH 表文件以 Impala 中的某个字符串开头
- processing - 如何修复这个太阳系模型的处理?
- angular - Angular 5: Is there way hide API call? or make it private?
- c# - 如何在 CsvHelper 中为所有类映射设置默认 NULL 值
- python-3.x - 使用递归打印从起点到目的地的所有路径 - Python
- javascript - 访问同一“返回值对象”中的 javascript 函数
- android - 如何在android中比较两个可绘制的图像
- react-native - React Native:uri在flatlist中多次呈现
- javascript - CSS - Microsoft Edge 中的绝对定位抖动