# depicter/trunk/app/src/Controllers/Ajax/FileUploaderController.php

Depicter — Popup &amp; Slider Builder, version trunk. 46 lines.

- Page: https://pluginprobe.com/plugins/depicter/trunk/code/app/src/Controllers/Ajax/FileUploaderController.php
- Raw: https://pluginprobe.com/plugins/depicter/trunk/raw/app/src/Controllers/Ajax/FileUploaderController.php
- Modified: 2026-08-15T09:50:06+00:00

Line numbers below start at 1. Link to a line or a range by appending a fragment to the
page URL, for example `https://pluginprobe.com/plugins/depicter/trunk/code/app/src/Controllers/Ajax/FileUploaderController.php#L10-L20`.

```php
<?php
namespace Depicter\Controllers\Ajax;

use WPEmerge\Requests\RequestInterface;

class FileUploaderController
{
	public function uploadFile(RequestInterface $request, $view) {

		try{

			if ( !current_user_can('upload_files')) {
				return \Depicter::json([
					'errors' => [ __('You do not have permission to upload files.', 'depicter') ]
				])->withStatus(400 );
			}

			$files = $request->files();

			if ( empty( $files ) ) {
				return \Depicter::json([
					'errors' => [ 'No file provided to upload']
				])->withStatus(400 );
			}

			$results = \Depicter::fileUploader()->upload( $files );

			if ( ! empty( $results ) ) {
				return \Depicter::json([
					'hits' => $results
				])->withStatus(200 );
			} else {
				return \Depicter::json([
					'errors' => [ 'Failed to upload media files.']
				])->withStatus(400 );
			}

		} catch( \Exception $exception ){
			return \Depicter::json([
				'errors' => [ $exception->getMessage() ]
			])->withStatus(400 );
		}

	}
}

```
