UpT*_*eek 22 javascript upload jquery
我想要上传脚本/组件的建议.我的标准:
可能不相关,但我在服务器端使用ASP.NET MVC.
谢谢
更新 是的,我知道需要有一个服务器端组件,但我可以提供.我对客户端脚本更感兴趣.(也许一些解决方案将与他们的服务器端实际联系 - 我不知道)
只是为了澄清 - 它不一定是.net特定的.我很高兴使用仅包含(例如)PHP服务器端脚本的组件,并将自己的组件用于.net.
感谢所有的答案 - 那里有一些非常有用的信息.最后我接受了'AJAX uploader' - 它没有满足进度条要求,但似乎没有任何东西可能(至少没有flash).我想我也会根据这里的一些信息来研究创建我自己的可能性 - 如果我有运气的话会回复.
TWi*_*ars 13
Fine Uploader我们使用它并且非常好,无论如何都值得一试.
编辑:出于某种原因,我认为我们使用了Uploadify,原来是这样的.
服务器端技术与您要做的事情非常相关.服务器交互对于这类事物是必要的.
我不知道任何现成的组件,但本文可能会有所帮助.
根据您的更新,您似乎正在寻找绑定到特定服务器技术的客户端组件,并确信您可以轻松地将其转换为.NET.在我看来,这并不容易.要实现进度条,您需要一个文件上传监听器.在Java中,我很幸运使用Apache Commons FileUpload和实现ProgressListener接口做了类似的事情.基本上我已经按照本文的说明进行操作.除了进度监听器之外,我还需要实现一个返回当前上传百分比的servlet,并在客户端使用进度条jQuery插件,我通过Ajax定期更新调用百分比servlet.这些都很容易.正如我评论的那样,您可以轻松地自己实现它们.
困难的部分是进度监听,这取决于服务器技术,这是非常不同的.所以我建议你从那里开始.了解如何收听使用ASP.Net MVC上传的文件的进度.上面链接的文章是一个很好的起点.
我们已经在内部项目中使用了一些,我认为您无法满足非Flash进度显示的标准.基于Flash的上传器如此受欢迎的原因是JavaScript在客户端Web浏览器上受到极大的限制:出于安全原因,JavaScript无法访问客户端硬盘上的任何文件(因此在上载之前不会检查文件长度而且没有读取块对于要上传的文件本身而言,它在操作<input type='file'>控件的程度上受到限制(因为否则它可以在用户不知情的情况下自行选择和上传文件),并且它只能将文件作为全有或全无的POST上传' ed表单提交(所以没有进度报告).
即使您可以解决这些客户端问题,据我所知,任何通用Web服务器都会等到它收到整个POST文件上传后再将其传递到服务器端Web应用程序,所以有服务器端组件在接收每个块时没有机会更新状态.
它看起来像AJAX上传是你能做的最好的事情.