Мне удалось заставить мою форму загружать несколько файлов и сохранять их с помощью пакета Laravel MediaLibrary.Моя проблема в том, что когда я перемещаю эти файлы на свой s3, процесс идет очень медленно!более 3 минут только для нескольких файлов размером не более 7 МБ.
Моя файловая система по умолчанию: s3
Js
<script>
var previewNode = document.querySelector("#template");
previewNode.id = "";
var previewTemplate = previewNode.parentNode.innerHTML;
previewNode.parentNode.removeChild(previewNode);
var uploadedMusic = {}
Dropzone.options.documentDropzone = {
url: '{{ route('music.storeMedia') }}',
maxFilesize: 120, // MB
addRemoveLinks: false,
previewTemplate: previewTemplate,
previewsContainer: "#previews",
headers: {
'X-CSRF-TOKEN': "{{ csrf_token() }}"
},
success: function (file, response) {
$('form').append('<input type="hidden" name="document[]" value="' + response.name + '">')
uploadedMusic[file.name] = response.name
},
removedfile: function (file) {
file.previewElement.remove()
var name = ''
if (typeof file.file_name !== 'undefined') {
name = file.file_name
} else {
name = uploadedMusic[file.name]
}
$('form').find('input[name="document[]"][value="' + name + '"]').remove()
},
init: function () {
@if(isset($music) && $music->document)
var files =
{!! json_encode($music->document) !!}
for (var i in files) {
var file = files[i]
this.options.addedfile.call(this, file)
file.previewElement.classList.add('dz-complete')
$('form').append('<input type="hidden" name="document[]" value="' + file.file_name + '">')
}
@endif
}
Контроллер
foreach ($request->input('document', []) as $file) {
$music->addMedia(storage_path('tmp/uploads/' . $file))->toMediaCollection('music');
}
Это потому, что мой проект находится на моем локальном хосте?
Я застрял в любой мысли о том, как я могу ускорить этот процесс, был бы очень признателен