sweelix / plupload
最受欢迎的前端框架,用于开发响应式、移动优先的Web项目。
This package is not auto-updated.
Last update: 2024-09-14 15:11:18 UTC
README
Plupload是一个跨浏览器的多运行时文件上传API。基本上,一组工具,可以帮助您在几分钟内构建一个可靠且视觉上吸引人的文件上传器。
历史上,Plupload源于一个没有HTML5的黑暗和敌对时代,因此所有替代方案,如Flash、Silverlight和Java(仍在开发中)。它旨在提供一个在任何地方和任何情况下都能工作的API,以某种方式。虽然具有非常稳定的替代方案,但Plupload仍然着眼于HTML5的未来。
目录
### 背景故事Plupload开始于一个时间,那时以响应式和可定制的方式上传文件真的很痛苦。在内部,浏览器只有 input[type="file"]
元素。它既丑陋又笨拙。甚至无法更改它的视觉外观,而无需隐藏它并从头开始编码另一个。然后上传过程中没有进度指示...听起来在今天听起来非常疯狂。
对于开发者来说,寻找替代方案并编写他们自己的实现,使用Flash和Java,以扩展有限的浏览器功能是非常合理的。我们也是如此,在我们的TinyMCE的MCImageManager中寻找可靠和灵活的文件上传器。
然而,Plupload很快变得很大。它很容易分成一个独立的项目。在主要版本2.0中,它经历了另一场巨大的重建,基本上从头开始,因为所有底层运行时逻辑都已被提取到单独的File API和XHR L2 polyfills(目前统称为mOxie),这给了Plupload进一步发展的机会。
### 结构目前,Plupload可以被认为是包含三个部分:底层polyfills、Plupload API和小部件(UI和队列)。最初,小部件仅打算作为API的示例,但很快就形成了完整的API实现,现在与Plupload API捆绑在一起。这已经导致了对API的多个误解,因为小部件很容易被误认为是Plupload本身。它们只是实现,就像你们中的任何人都可以使用API自己构建一样。
- 底层填充程序(mOxie) - 在GitHub上拥有自己的代码库和文档。
- Plupload API
- UI小部件
- 队列小部件
Plupload依赖于File API和XHR2 L2填充程序,目前它们在GitHub上拥有自己的代码库。然而,在大多数情况下,您不必关心这些,因为我们已经将mOxie的最新构建版本打包到这个代码库中,包括完整的和压缩的JavaScript源代码以及预编译的SWF
和XAP
组件。您可以在js/
文件夹下找到您可能需要的一切。
有时您可能需要自定义构建,例如无冗余运行时、原尺寸的一半等。这个任务的难点在于mOxie及其附加的运行时,这些运行时需要在您的工作站上使用特殊工具才能编译。请考虑mOxie的构建说明 - 这一切同样适用于Plupload。
首先,如果您想构建自定义的Plupload包,您将需要Node.js,因为这是我们首选的构建环境。Node.js的二进制文件(以及源代码)对所有主流操作系统都可用。
Plupload包含mOxie作为子模块,它还依赖于一些其他代码库来构建其开发环境 - 为了避免逐一下载它们,我们建议您使用git递归地克隆Plupload(您需要在本系统中安装git才能成功执行此操作)。
git clone --recursive https://github.com/moxiecode/plupload.git
最后,使用npm install
完成准备工作 - 这将安装所有附加模块,包括开发环境和测试环境所需的模块。如果您希望保持最小化,请添加--production
标志。
注意:目前,由于未知原因,Windows上本地安装的Node.js模块可能不会自动添加到系统PATH中。因此,如果下面的jake
命令不被识别,您需要手动添加它们。
set PATH=%PATH%;%CD%\node_modules\.bin\
### 支持我们积极支持Plupload,并且现在我们已经完成了主要的重写和重构,我们面前唯一真正的目标就是让它尽可能可靠和万无一失。我们欢迎所有的建议和功能请求。如果您遇到任何问题,请提交错误报告。我们可能不会立即做出反应,但我们在扩展代码库时会不断考虑它们。
除了为那些敢于购买我们OEM许可证的人提供专用支持外,我们还拥有讨论板,它就像一个巨大的FAQ,涵盖了每个可能的应用案例。当然,您欢迎在这里提交错误报告或功能请求,GitHub。
有时,在有实际代码的错误报告中发现问题更容易。请考虑为有问题的代码提供Plupload fiddle。
### 贡献我们欢迎建议和代码修订,但您可能首先需要考虑一些规则和限制。
- 您贡献的代码将自动根据LGPL许可,但不会仅限于LGPL。
- 尽管所有贡献者都将获得他们工作的认可,但版权声明将被更改为Moxiecode Systems AB。
- 第三方代码在发布之前将进行审查、测试,并可能进行修改。
这些基本规则帮助我们谋生,并确保代码保持开源状态并兼容LGPL许可证。所有贡献都将添加到变更日志中,并出现在每个版本和网站上。
一个简单的开始方法是将Plupload翻译成您的语言。
您可以在以下位置了解更多关于如何贡献的信息:http://www.plupload.com/contributing
### 许可证版权所有 2013, Moxiecode Systems AB
在GPLv2许可证下发布。
我们还提供商业许可证。