Я пытаюсь загрузить изображение в базу данных и папку с помощью ajax и laravel, но я получаю ошибку, например, call to a member function getclientoriginalextension on string
, и когда i dd значения в моем пути с контуром контроллера только не приходят ,Загрузка изображения в базу данных и папку с помощью ajax laravel 5.4
мой взгляд:
<form role="form" name="campaignForm" id="campaignForm" action="" method="post" enctype="multipart/form-data">
<input type="text" name="project_name" autocomplete="off" id="project_name" placeholder="Company name" class="form-control">
<input type="text" name="website_url" id="website_url" autocomplete="off" placeholder="http://www.yourdomain.com" class="form-control">
<input type="file" name="image" id="image" autocomplete="off" placeholder="" class="form-control">
<input type="text" name="location" id="location" autocomplete="off" placeholder="Enter the location you want to target" class="form-control">
<input type="text" name="group" id="group" autocomplete="off" placeholder="Group (optional)" class="form-control">
<button type="submit" id="btn-save" value="add" class="btn actionBtn btn-primary">
</form>
мой Аякса:
$("#btn-save").click(function (e) {
$.ajaxSetup({
headers: {
'X-CSRF-TOKEN': $('meta[name="_token"]').attr('content')
}
})
e.preventDefault();
var formData = {
project_name: $('#project_name').val(),
website_url: $('#website_url').val(),
location: $('#location').val(),
group: $('#group').val(),
image : $('#image').val(),
}
$.ajax({
type: type,
url: my_url,
data: formData,
dataType: 'json',
success: function (data) {
console.log(data);
},
error: function (data) {
console.log('Error:', data);
}
});
});
контроллер:
public function campaign(Request $request){
$task = new projects();
$task->project_name = trim($request->project_name);
$task->website_url = trim($request->website_url);
$task->location = trim($request->location);
$task->group = trim($request->group);
$file = trim($request->image);
if ($request->hasFile($file)) {
$destinationPath = 'images'; // upload path
$extension = $file->getClientOriginalExtension(); // getting image extension
$fileName = rand(11111,99999).'.'.$extension; // renameing image
$file->move($destinationPath, $fileName);
$task->image = $fileName;
}
dd($task);
}
любая помощь была бы оценена Вы.
Сво работал для вставки .Но данных, когда я пытаюсь редактировать формы, его сохранение в виде пустых значений. Я не понимаю, почему? – 06011991
Я рад, что это сработало. вы имеете в виду редактирование существующего экземпляра? в этом случае вы можете поместить 'old ('username')' в поля формы, например this ' , Вот [старые входные документы] (https://laravel.com/docs/5.4/requests#old-input) –
Я разобрался с проблемой. Теперь все работает как шарм. Спасибо :) – 06011991