显然,ajax更合理。这种情况下,需要单独写一个动作使ajax read 进度,然后ajax刷新前台进度,添加ajax,使用ajaxfile upload插件定期异步ajax获取数据,用jquery.form.js上传文件,用进度前端代码ajax提交表单,只能向后台提交数据资料,不能上传文件,还有进度的功能。这里用的是form.js的插件。
需要知道文件的总大小;用脚本在页面上设置定时器,每隔一段时间(2s)发送一次检查当前文件大小的请求;进度当前大小百分比/总大小。一般来说,前台和后台的交互不会这样设计。首先需要明确的是,在MVC中,前台和后台的一种交互是直接刷新页面,另一种是前台ajax请求后台。显然,ajax更合理。这种情况下,需要单独写一个动作使ajax read 进度,然后ajax刷新前台进度。
用flash文件上传插件比如创始人还写了一个可以实现的php的扩展,比较麻烦,但是没有用flash上传那么简单插件。qq和百度的相册都是用flash上传的。不用麻烦,jquery里有很多插件,可以上传进度风格的文件。可以用ps:既然你这么有个性,那我就告诉你实现的原理,细节你可以自己解决。普通页面访问都是同步的,也就是请求>反馈。
所以普通页面无法实现这个功能,需要异步获取ajax data,而这个数据的来源当然是服务器发送的,这样就遇到了一个严重的问题。php无法在文件传输过程中获得状态。幸运的是,php的创始人写了一个APC扩展(另一个扩展是uploadprogress)
ajax的表单提交只能向后台提交数据资料,无法上传文件文件。还有进度的功能,用form.js的插件实现,简单易用,css风格,高大上,推荐。我需要解释我的结构。#uploadinput标签是一个真实的文件上传按钮,包裹表单标签后可以实现上传功能。# uploadinputbtn的按钮标签是显示给用户的按钮,因为样式需要美化。
具体流程可以参考。ajax不能直接执行跨域请求,你这样写肯定不行。你可以用ajax请求同域的服务器(也就是js文件和脚本文件在一个域名下)用你的后台脚本远程请求一个webservice,然后把结果返回给前端。如果一定要用js直接发起请求,请搜索ajax跨域请求。一般使用jsonp方法,但这需要服务器对你的请求做出个性化的响应。一般来说,webservice不会为你做这些。
这里是一个不刷新的多文件上传系统,可以判断有多少个文件。文件类型中有教程和源代码。这是一个测试。我很期待。我建议用闪光灯。现在比较厉害的有两个,一个是swfupload,一个是uploadify。两者都可以在任何语言中使用,并且都提供了接口。两个我都用过。虽然刚开始学习有点难,但是你会发现你最终的选择会是这两个。网上确实有很多垃圾。希望能帮到你。
Jquery是一个Jquery图片上传组件,支持多文件上传、取消删除、上传前缩略图预览、图片大小列表显示、上传进度display;服务器端支持各种动态语言的开发。Pixelcone使用HTML5 API,支持文件拖拽上传,iframe上传的回调,支持多种文件上传形式。AjaxUpload This 插件使用XHR上传多个文件,支持老浏览器,使用隐藏iframe进行处理,提供良好的用户体验,支持文件拖放操作。
7、用 ajax获得后台处理 进度因为HTTP请求没有返回进度,所以需要准备两个请求,一个用于发送邮件,一个用于获取进度。后者可以在定时器中定期执行,电子邮件功能不会很慢,除非你用错了组件。之前用了一个组件,发现发的很慢,后来改了,发的很快,如果循环发送很多邮件,可以用最大数量和完成数量一次处理一个或多个文件,然后用js连续运行(每次都获取它的处理数量和最大数量),这样做a 进度件就可以了。
文章TAG:插件 进度 ajax kodi ajax 进度条插件