Я пытаюсь создать страницу, на которой пользователь может добавить заголовок, а затем загрузить изображение или 2. Я использую Dropzone и Laravel, и я пытался заставить его выглядеть по -другому,
я сделал Похоже на http://www.dropzonejs.com/bootstrap.html
Проблема, которая у меня есть, заключается в том, что мне нужно добавить URL в файл JS, но но это продолжает давать мне Эта ошибка
post http: //crud.test/portfolios 419 (неизвестный статус)
и в моем предварительном просмотре в моих инструментах Dev < /p>
{message: "", Исключение: "Symfony \ component \ httpkernel \ exception \ httpexception",…} < /p>
< /blockquote>
Я знаю, что в Ларавеле я буду использовать < /p>
{{ csrf_field() }}
< /code>
И я не могу загрузить свои изображения в папку, которую я указал в моем контроллере или сохранить изображения в моей базе данных. < /p>
Я хотел бы, чтобы я мог заставить свои изображения загружать в папку и сохранить в мою базу данных. < /p>
my blade: < /p>
{{ csrf_field() }}
Title
Add files...
Start upload
Cancel upload
Start
Cancel
Delete
Submit
< /code>
mea main.js: < /p>
var previewNode = document.querySelector("#template");
previewNode.id = "";
var previewTemplate = previewNode.parentNode.innerHTML;
previewNode.parentNode.removeChild(previewNode);
var myDropzone = new Dropzone(document.body, { // Make the whole body a dropzone
url: "/portfolios", // Set the url
thumbnailWidth: 80,
thumbnailHeight: 80,
parallelUploads: 20,
previewTemplate: previewTemplate,
autoQueue: false, // Make sure the files aren't queued until manually added
uploadMultiple: true,
previewsContainer: "#previews", // Define the container to display the previews
clickable: ".fileinput-button" // Define the element that should be used as click trigger to select files.
});
myDropzone.on("addedfile", function(file) {
file.previewElement.querySelector(".start").onclick = function() {
myDropzone.enqueueFile(file);
};
});
myDropzone.on("totaluploadprogress", function(progress) {
document.querySelector("#total-progress .progress-bar").style.width = progress + "%";
});
myDropzone.on("sending", function(file) {
document.querySelector("#total-progress").style.opacity = "1";
file.previewElement.querySelector(".start").setAttribute("disabled", "disabled");
});
myDropzone.on("queuecomplete", function(progress) {
document.querySelector("#total-progress").style.opacity = "0";
});
document.querySelector("#actions .start").onclick = function() {
myDropzone.enqueueFiles(myDropzone.getFilesWithStatus(Dropzone.ADDED));
};
document.querySelector("#actions .cancel").onclick = function() {
myDropzone.removeAllFiles(true);
};
< /code>
Мой контроллер: < /p>
public function store(Request $request)
{
$portfolio = new Portfolio();
$portfolio->fill($this->getSafeInput($request));
if($request->hasFile('file'))
{
$names = [];
foreach($request->file('file') as $image)
{
$destinationPath = 'portfolio_images/';
$filename = $image->getClientOriginalName();
$image->move($destinationPath, $filename);
array_push($names, $filename);
}
$portfolio->file = json_encode($names);
}
$portfolio->save();
return redirect()->route('portfolios.index');
}
< /code>
мои маршруты: < /p>
Route::get('/', function () {
return view('welcome');
});
Auth::routes();
Route::get('/home', 'HomeController@index')->name('home');
Route::resource('/portfolios', 'PortfolioController');
< /code>
Я надеюсь, что я объяснил должным образом, и если я оставил какую -либо информацию, дайте мне знать < /p>
Подробнее здесь: https://stackoverflow.com/questions/478 ... nd-laravel
Получение изображения для загрузки с помощью Dropzone и Laravel ⇐ Jquery
-
- Похожие темы
- Ответы
- Просмотры
- Последнее сообщение