moxiecode/plupload
Composer 安装命令:
composer require moxiecode/plupload
包简介
Plupload is a JavaScript API for dealing with file uploads it supports features like multiple file selection, file type filtering, request chunking, client side image scaling and it uses different runtimes to achieve this such as HTML 5, Silverlight and Flash.
README 文档
README
Plupload is a cross-browser multi-runtime file uploading API. Basically, a set of tools that will help you to build a reliable and visually appealing file uploader in minutes.
Historically, Plupload comes from a dark and hostile age of no HTML5, hence all the alternative fallbacks, like Flash, Silverlight and Java (still in development). It is meant to provide an API, that will work anywhere and in any case, in one way or another. While having very solid fallbacks, Plupload is built with the future of HTML5 in mind.
Table of Contents
- Backstory
- Structure
- Demos
- Building Instructions
- Getting Started
- FAQ
- Support
- Contributing
- License
- Contact Us
Backstory
Plupload started in a time when uploading a file in a responsive and customizable manner was a real pain.
Internally, browsers only had the input[type="file"] element. It was ugly and clunky at the same time.
One couldn't even change it's visuals, without hiding it and coding another one on top of it from scratch.
And then there was no progress indication for the upload process... Sounds pretty crazy today.
It was very logical for developers to look for alternatives and writing their own implementations, using Flash and Java, in order to somehow extend limited browser capabilities. And so did we, in our search for a reliable and flexible file uploader for our TinyMCE's MCImageManager.
Quickly enough though, Plupload grew big. It easily split into a standalone project. With major version 2.0 it underwent another huge reconstruction, basically from the ground up, as all the low-level runtime logic has been extracted into separate File API and XHR L2 pollyfills (currently known under combined name of mOxie), giving Plupload a chance to evolve further.
Structure
Currently, Plupload may be considered as consisting of three parts: low-level pollyfills, Plupload API and Widgets (UI and Queue). Initially, Widgets were meant only to serve as examples of the API, but quickly formed into fully-functional API implementations that now come bundled with the Plupload API. This has been a source for multiple misconceptions about the API as Widgets were easily mistaken for the Plupload itself. They are only implementations, such as any of you can build by yourself out of the API.
- Low-level pollyfills (mOxie) - have their own code base and documentation on GitHub.
- Plupload API
- UI Widget
- Queue Widget
Building instructions
Plupload depends on File API and XHR2 L2 pollyfills that currently have their
own repository on GitHub. However, in most cases you shouldn't
care as we bundle the latest build of mOxie, including full and minified JavaScript source and
pre-compiled SWF and XAP components, with every release. You can find everything you may need under js/ folder.
There are cases where you might need a custom build, for example free of unnecessary runtimes, half the original size, etc. The difficult part of this task comes from mOxie and its set of additional runtimes that require special tools on your workstation in order to compile. Consider build instructions for mOxie - everything applies to Plupload as well.
First of all, if you want to build custom Plupload packages you will require Node.js, as this is our build environment of choice. Node.js binaries (as well as Source) are available for all major operating systems.
Plupload includes mOxie as a submodule, it also depends on some other repositories for building up it's dev environment - to avoid necessity of downloading them one by one, we recommended you to simply clone Plupload with git recursively (you will require git installed on your system for this operation to succeed):
git clone --recursive https://github.com/moxiecode/plupload.git
And finalize the preparation stage with: npm install - this will install all additional modules, including those
required by dev and test environments. In case you would rather keep it minimal, add a --production flag.
Note: Currently, for an unknown reason, locally installed Node.js modules on Windows, may not be automatically
added to the system PATH. So, if jake commands below are not recognized you will need to add them manually:
set PATH=%PATH%;%CD%\node_modules\.bin\
Support
We are actively standing behind the Plupload and now that we are done with major rewrites and refactoring, the only real goal that we have ahead is making it as reliable and bulletproof as possible. We are open to all the suggestions and feature requests. We ask you to file bug reports if you encounter any. We may not react to them instantly, but we constantly bear them in my mind as we extend the code base.
In addition to dedicated support for those who dare to buy our OEM licenses, we got discussion boards, which is like an enormous FAQ, covering every possible application case. Of course, you are welcome to file a bug report or feature request, here on GitHub.
Sometimes it is easier to notice the problem when bug report is accompained by the actual code. Consider providing a Plupload fiddle for the troublesome code.
Contributing
We are open to suggestions and code revisions, however there are some rules and limitations that you might want to consider first.
- Code that you contribute will automatically be licensed under the AGPL, but will not be limited to AGPL.
- Although all contributors will get the credit for their work, copyright notices will be changed to Moxiecode Systems AB.
- Third party code will be reviewed, tested and possibly modified before being released.
These basic rules help us earn a living and ensure that code remains Open Source and compatible with AGPL license. All contributions will be added to the changelog and appear in every release and on the site.
An easy place to start is to translate Plupload to your language.
You can read more about how to contribute at: http://www.plupload.com/contributing
License
Copyright 2016, Ephox.
Released under AGPL-3.0 License.
We also provide commercial license.
moxiecode/plupload 适用场景与选型建议
moxiecode/plupload 是一款 基于 JavaScript 开发的 Composer 扩展包,目前已累计 575.6k 次下载、GitHub Stars 达 5.62k, 最近一次更新时间为 2014 年 04 月 16 日, 在 PHP 生态内属于活跃度较高的组件。
它主要适用于以下技术方向: 「plupload」 「file upload」 「multi-runtime」 「legacy browser support」 等业务场景。在实际项目中,围绕这些方向常见需要落地的问题包括:接口对接、性能调优、并发安全、与既有框架(Laravel / ThinkPHP / Yii / Webman 等)的兼容适配,以及生产环境的日志埋点与稳定性保障。
我们在过去多个企业项目中使用过 moxiecode/plupload 或与其功能相近的方案,如果你在选型或落地过程中遇到问题,例如 版本兼容、二次改造、私有化封装、与内部系统对接、生产 BUG 排查,欢迎联系我们协助评估。
基于 moxiecode/plupload 在你已有业务上做功能扩展、字段裁剪、UI 适配、与内部账号 / 权限 / 日志系统的深度对接。
线上偶发问题、内存泄漏、慢查询、并发异常等排查修复;针对高流量场景做缓存、队列、索引层面的调优。
承接完整的项目从需求 → 设计 → 开发 → 上线 → 长期运维;也可按月提供技术保姆服务。
与 moxiecode/plupload 相关的其它包
同方向 / 同关键字的高下载量 PHP Composer 包推荐,方便对比选型:
The file manager intended for using Laravel with CKEditor / TinyMCE / Colorbox
This TYPO3 CMS extension provides an API and a FE plugin for using plupload, a highly usable and advanced upload handler.
The plupload extension for the Yii framework
Plupload component for Nette Framework.
The `ThraceMediaBundle` handles file, video, audio and image upload plus some image manipulations.
Laravel Media Popup to upload/view the files
统计信息
- 总下载量: 575.6k
- 月度下载量: 0
- 日度下载量: 0
- 收藏数: 5624
- 点击次数: 35
- 依赖项目数: 7
- 推荐数: 0
其他信息
- 授权协议: (GPL-2.0 or OEM) b5d0cfc8c3ad3a16ed893f389fae96a3ab2d2f1f
- 更新时间: 2014-04-16