我正在开发一个视频上传模块,该模块最终将所有用户上传的视频存储在YouTube上(使用youtube api)。
我想在用户点击上传按钮后立即显示进度条并继续显示,直到视频上传为止。
我知道这通常是在.net中使用ajax工具包实现的,但由于我使用的是文件上传控件,因此它与ajax工具包不兼容。
请建议我如何实现这一目标。
答案 0 :(得分:3)
您无法显示文件上传的实际进度。但是您可以使用javascript显示隐藏的动画“加载”图像。将表单(带有文件)提交给服务器时显示。
HTML:
<img id="loading_img" style="Display: None" src="loading.gif" />
使用Javascript:
$('#Form1').submit(function() {
$('#loading_img').show(); // Show image
return true; // Proceed with postback
});
答案 1 :(得分:1)
前段时间我需要exaclty,我首先搜索了一个javascript解决方案但最终得到了一个Flash上传器。如果您通过Javascript中的XMLHttpRequest
API上传,某些浏览器(Chrome,Firefox)会报告上传状态,因此肯定可以完成,但这种方法(或者当时我检查过它)不会交叉-browser。
您可以查看this example以及此Q & A。
如果跨浏览器不起作用,您可以使用现有的Flash文件上传器,也可以使用Flash或Silverlight创建自己的Flash文件。当然,这会使您的网站依赖Flash或Silverlight。 例如,This是一个使用Flash的项目。
答案 2 :(得分:0)
最快的方法是购买第三方控件,例如Telerik上传控件可以做到(没有闪存)
http://demos.telerik.com/aspnet-ajax/upload/examples/customizingraduploadui/defaultcs.aspx