2008-12-11 92 views
3

通过使用标准HTML输入的网页上传文件对我来说总是显得笨重。如果用户试图上传大文件,它可以永远持续下去,并且他们没有得到实际上传文件的队列。通过HTTP处理文件上传的最佳方式

我试图做一些事情,比如提供一个gif图形,这是一个动画图形条,但它不会给用户上传多少指示。我甚至试图用AJAX做一个进度条,但这些总是很丑,似乎从来没有工作正确。

这一直是我的许多客户的问题,并且经常询问是否有更好的方法。有时我只是给他们提供一个FTP站点,以便他们可以在那里上传,但这也不是一个实际的解决方案。

您认为从HTML处理HTTP文件上传的最佳方式是?你在互联网上看到了什么好的想法/例子?

回答

1

有与进度条通过HTTP,其中大部分涉及异步文件传输的几个技巧要么是Flash要么是XMLHttpRequest

1

我会为此添加swfupload。这是一款开源闪光上传器,如果用户没有闪光灯,则可以优雅地降级。

+0

似乎并不非常优美的我。如果他们没有JavaScript或Flash,它将删除按钮。它不会像人们所期望的那样回退到文件上传控制。 – 2009-10-01 05:40:09

1

真的只有通过浏览器上传的一种机制。但是,您可以通过提供一个进度栏来显示上传正在进行并以何种速度进行打扮,并使其更加便于用户使用。

这通常是通过在隐藏的iframe上定位上传表单并使用AJAX调用来找出文件到达服务器的大小来完成的。

这里有一个例子:

Megaupload

0

如果您运行的mod_perl2阿帕奇存在Apache2::UploadProgress模块。这会向http上传请求添加一个id,然后向服务器查询上传的进度。已经构建支持在弹出窗口或上载页面内创建AJAX进度条。如果您想构建自己的进度显示,则可以将信息重新获取为XML或JSON数据。

0

YUI Uploader utility使用基于Flash的上传器,有很好的文档记录,并有几个例子供您尝试。我已经在几个项目中使用过它,并会推荐它。

0

我使用这一个相当简单和完整的工具。基本的源代码很好,如果有必要,您可以轻松定制它。 AJAX File Upload

0

有趣的是,没有一个人通过Dean Brettle提到NeatUpload上传组件,它有许多有趣的功能,运行在MONO,太

+0

想知道为什么有些巨魔投了这个票?我是一个反巨魔,我没有看到任何错误的答案。 – bgmCoder 2013-10-27 04:14:10

相关问题