使用资源分支进行HTTP上载

jwe*_*ner 12 php ftp upload fork

我正在为一些客户构建基于PHP的上传服务.我正在使用SWFUpload,以便我可以在上传时查看文件的进度.我已经完成了它,但是在我们向公众发布它之前,我遇到了最后一个问题.

我们的许多(几乎所有)客户都是基于Mac的,并且正在上传包含InDesign文件,字体,Illustrator文件等的文件集.大多数时候图像文件都可以,但偶尔(并且始终使用Type 1字体)该文件将被损坏,因为它正在丢失资源分叉.

我理解为什么会这样(从多叉系统转移到单叉系统),但我找不到任何优雅的解决方案.在我的研究中,到目前为止我找到的最佳答案是"让用户压缩它".我知道这很有效,但我们客户认为,要求他们压缩他们要发送的每一组文件是不合理的.

有没有更好的解决方案来保持这些资源叉活着?当然,我更喜欢直接javascript/php的解决方案,但是会选择基于flash或(最不优选)基于java的东西.

我对新解决方案的唯一要求是:

  • 查看上传进度
  • 用户无需手动压缩文件

这是关于我的系统的一些信息

  • Ubuntu 10.10服务器运行标准LAMP安装
  • PHP5
  • SWFUpload(wtv是最新版本)

hak*_*kre 6

上传句柄文件.如果浏览器和底层操作系统无法在此过程中处理分支(将任何文件映射到文件模型以进行上载),那么您将受到系统体系结构的限制.

资源分叉:资源分支是Mac OS操作系统的构造,用于将结构化数据存储在文件中,以及存储在数据分支中的非结构化数据.资源分支以特定形式存储信息,例如图标,窗口的形状,菜单的定义及其内容,以及应用程序代码(机器代码).

如果那是你的阻挡者,你可能选择了错误的领域来工作.只是说,如果你遇到系统的边界,你可以做的事情就不多了.即使你为图形设计师和mac用户工作.

SWFUpload的需要一个功能来对付叉.为此,闪存需要一个功能来处理分叉.为此,浏览器最终需要一个功能来处理分叉.等等.

在这个链条的旁边,还有另一个问题:如何处理货叉?由于上传只将一个文件映射到一大块二进制数据,如何映射fork也是如此?附加吗?添加其他文件?

所以在技术层面上这听起来并不容易解决.文件输入链中的所有组件和系统都必须支持通常根本不支持的功能.

因此,您无法向不存在的用户提供某些内容,您唯一能做的就是使您的应用程序更具可用性或用户友好性.例如,通过在正确的时间提供正确的音符(例如,当用户选择用于上载的类型1文件时,以提醒他/她也选择分叉).与用户沟通可以提供帮助,但请记住,用户需要使用他/她理解的语言进行交流.

因此,如果您知道某些文件类型有分叉,请将问题告诉可以解决问题的人:用户.你不能.