Merge pull request #1165 from openclassify/vedat

fixed upload api
This commit is contained in:
Fatih Alp 2021-09-15 13:16:09 +03:00 committed by GitHub
commit 9815b1f7ac
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 29 additions and 11 deletions

View File

@ -40,9 +40,6 @@ $(function () {
sending: function (file, xhr, formData) { sending: function (file, xhr, formData) {
formData.append('folder', element.data('folder')); formData.append('folder', element.data('folder'));
}, },
renameFile: function (file) {
return new Date().getTime() + '_' + file.name.replace(/ /g, '_');
},
accept: function (file, done) { accept: function (file, done) {
$.get(REQUEST_ROOT_PATH + '/streams/media-field_type/exists/' + element.data('folder'), {'file': file.name}, function (data) { $.get(REQUEST_ROOT_PATH + '/streams/media-field_type/exists/' + element.data('folder'), {'file': file.name}, function (data) {
if (data.exists) { if (data.exists) {

View File

@ -3,6 +3,7 @@
use Anomaly\Streams\Platform\Image\Image; use Anomaly\Streams\Platform\Image\Image;
use Anomaly\Streams\Platform\Model\Files\FilesFilesEntryModel; use Anomaly\Streams\Platform\Model\Files\FilesFilesEntryModel;
use Illuminate\Http\Request; use Illuminate\Http\Request;
use Illuminate\Http\UploadedFile;
use Illuminate\Support\Facades\Auth; use Illuminate\Support\Facades\Auth;
use Illuminate\Support\Facades\Storage; use Illuminate\Support\Facades\Storage;
use Visiosoft\MediaFieldType\Table\UploadTableBuilder; use Visiosoft\MediaFieldType\Table\UploadTableBuilder;
@ -48,19 +49,39 @@ class UploadController extends AdminController
); );
} }
public function changeFileName($file)
{
$file_name = $file->getClientOriginalName();
$ext = pathinfo($file_name, PATHINFO_EXTENSION);
$file_name = str_replace('.' . $ext, '', $file_name);
$file_name = preg_replace('/[^A-Za-z0-9 _-]/', '', $file_name);
$file = new UploadedFile($file->getPathname(),
strtotime('now') . "-" . $file_name . "." . $ext,
$file->getClientMimeType(),
$file->getError());
return $file;
}
public function upload() public function upload()
{ {
$path = $_FILES['upload']['name']; $file_request = $this->changeFileName($this->request->file('upload'));
$path = $file_request->getClientOriginalName();
$ext = pathinfo($path, PATHINFO_EXTENSION); $ext = pathinfo($path, PATHINFO_EXTENSION);
if($ext == 'svg') { if ($ext == 'svg') {
$mimes [0] = 'svg'; $mimes [0] = 'svg';
$file = $this->uploader->upload($this->request->file('upload'), $this->folders->find($this->request->get('folder'))); $file = $this->uploader->upload($file_request, $this->folders->find($this->request->get('folder')));
} else { } else {
$mimes = explode('/', $this->request->file('upload')->getMimeType()); $mimes = explode('/', $file_request->getMimeType());
if ($mimes[0] == 'image') { if ($mimes[0] == 'image') {
$file = $this->uploader->upload($this->request->file('upload'), $this->folders->find($this->request->get('folder'))); $file = $this->uploader->upload($file_request, $this->folders->find($this->request->get('folder')));
} else if ($doc_folder = app(FolderRepositoryInterface::class)->findBySlug('ads_documents')) { } else if ($doc_folder = app(FolderRepositoryInterface::class)->findBySlug('ads_documents')) {
$file = $this->uploader->upload($this->request->file('upload'), $doc_folder); $file = $this->uploader->upload($file_request, $doc_folder);
} else { } else {
return $this->response->json(['error' => trans('visiosoft.field_type.media::message.error_upload_docs')], 500); return $this->response->json(['error' => trans('visiosoft.field_type.media::message.error_upload_docs')], 500);
} }
@ -93,7 +114,7 @@ class UploadController extends AdminController
} }
$fullImg = WaterMark::make($this->request->file('upload')->getRealPath()); $fullImg = WaterMark::make($file_request->getRealPath());
if ($settings_value['image_resize_backend']) { if ($settings_value['image_resize_backend']) {
$fullImg = $fullImg->resize(null, $settings_value['full_image_height'], $fullImg = $fullImg->resize(null, $settings_value['full_image_height'],
@ -102,7 +123,7 @@ class UploadController extends AdminController
}); });
} }
$mdImg = WaterMark::make($this->request->file('upload')->getRealPath()) $mdImg = WaterMark::make($file_request->getRealPath())
->resize(null, $settings_value['medium_image_height'], function ($constraint) { ->resize(null, $settings_value['medium_image_height'], function ($constraint) {
$constraint->aspectRatio(); $constraint->aspectRatio();
}); });