【问题标题】:Large files upload in web browser在网络浏览器中上传大文件
【发布时间】:2011-12-20 19:03:23
【问题描述】:

这是我第一次提问。希望你能帮助我。

问题:我的厨师希望我们的企业应用程序有一个模块,允许客户将非常大的文件上传到我们的服务器。

基础架构:php 5.x / mysql 客户端-服务器应用程序

众所周知的问题: -HTTP 会话超时 - 文件数量和文件大小的上传限制

规则:

-该解决方案不得使用任何小程序(java、flash、...),也不得使用任何浏览器插件。 - 该解决方案应该允许用户上传任何类型的文件,从简单的图像到任何其他类型的非常大的文件。 -出于安全原因,我们不想更改 php.ini 文件中的设置,也不想更改任何 .htaccess 文件中的设置以允许应用上传更大的文件。 - 如果存在预先支持的解决方案,它应该是开源的并且可能是免费的。 - 非常欢迎与 AJAX 功能和进度条可视化的集成。

可能的解决方案(告诉我是否可行,如果不可行,为什么?):

-使用浏览器中的一些javascript库通过FTP访问 - 使用浏览器中的一些 javascript 库通过 WebDAV 访问

也欢迎任何其他遵守上述规则的解决方案

我知道,我要的是一个很难找到的东西。

【问题讨论】:

  • 有大量的文件上传脚本使用了各种可用的技术,你看过吗?
  • 是的,我做到了。问题是会话和文件大小的糟糕问题。我查找了一个 ftp 上传器解决方案,但似乎此类应用程序与 http 存在相同的会话超时问题。

标签: php file upload ftp webdav


【解决方案1】:

目前无法满足您的要求。目前在所有广泛使用的浏览器中都可用的唯一上传文件技术是标准 HTTP 表单上传,您已经拒绝将其作为解决方案。所有其他可用的解决方案都需要 Java 或 Flash,或使用尚未完全标准化的浏览器 JavaScript 功能(本地文件访问)。

您需要放宽一些要求。

【讨论】:

  • 我还看到,一些浏览器使用 PUT http 动词支持 XForms。但老实说,我不太了解使用 put 和 post 动词上传文件之间的区别。
  • 主流网络浏览器(MSIE、Firefox、Chrome、Safari)都不支持 XForms。无论如何,PUT 表单提交可能与正常文件上传具有完全相同的限制。
【解决方案2】:

创建一个 iframe 或框架,或提供通过 FTP 访问服务器的浏览器窗口。允许用户为那些至少支持 FTP 的浏览器放置文件。

【讨论】:

  • 那……没有意义。将<iframe> 指向ftp:// URL 不会神奇地使浏览器能够通过FTP 上传内容。 (大多数现代浏览器不能。)它也没有提供在超时情况下恢复上传或显示正在进行的上传进度的任何方法。
  • 流行的浏览器会这样做,hosting.com/support/upload/browser-ftpoakton.edu/resource/it/ftp/index.htm - 但你只需要回到 5 到 10 年前,如果他们不再拥有它,就为你的用户提供下载。另见:stackoverflow.com/q/2813869/367456
  • 是的,安装一个至少有十年历史的网络浏览器在今天几乎不是一个可行的选择。那时你最好安装一个真正的 FTP 客户端!
  • @duskwuff:是的,为什么不呢?我曾经创建和管理界面,用户可以通过 FTP 上传大型内容。然后他们可以在浏览器中管理/选择他们的上传。对上传者来说就像一个魅力。那些不想安装 FTP 客户端的人,提供了一个 java 小程序。由于浏览器从未用于大型上传(无论如何都不是微不足道的),这只会慢慢发展。 HTTP 不是 FTP。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-10-30
  • 2020-05-23
  • 2021-08-21
  • 1970-01-01
  • 2012-04-06
相关资源
最近更新 更多