flow/plupload-endpoint

处理 Plupload 上传

0.1.0 2014-04-28 17:06 UTC

This package is auto-updated.

Last update: 2024-09-18 20:33:29 UTC


README

Plupload 上传器的端点处理器。

外部依赖

  • Symfony\Component\HttpFoundation
  • Symfony\Component\Filesystem

安装

composer require flow/plupload-endpoint:0.1.x

使用方法

框架无关的请求/响应

use Flow\PluploadEndpoint\JsonResponseHandler;
use Flow\PluploadEndpoint\Pluploader;
use Symfony\Component\Filesystem\Filesystem;
use Symfony\Component\HttpFoundation\Request;

$request = Request::createFromGlobals();

$filesystem = new Filesystem();

$pluploader = new Pluploader($request, $filesystem, './uploads');

$handler = new JsonResponseHandler($pluploader);

$response = $handler->handle(); // returns Symfony\Component\HttpFoundation\Response

$response->send(); // Sends JSON to browser

Laravel 集成

class Uploads extends Controller
{
	public function upload()
	{
        $pluploader = new Pluploader(
            App::make('request'),
            new \Symfony\Component\Filesystem\Filesystem(),
            '../app/storage/uploads'
        );

		$handler = new JsonResponseHandler($pluploader);

		return $handler->handle();
	}
}

注意事项

  • 未在 Windows/IIS 环境中进行测试
  • 此包没有安全功能,但以下是一些提示
    • 检查上传文件的扩展名,并排除所有不期望的扩展名(例如,*.php 文件)
    • 不要将上传的文件放在公开可访问的目录中(例如,在 public_html 文件夹中)
    • 在上传时混淆文件名