被AjaxUpload组件涮了

专业二三维GIS 2009-09-29 05:13:21
想实现通过ajax的方式上传文件,发现通过xmlHttpRequest根本就无法实现。
但仍不死心在网上搜索,找到一个ajaxUpload的组件,试了一下demo果然能实现无刷新上传,但发现IE浏览器状态栏的进度条也在刷。
于是打开源代码来研究一下,代码并不算长,看完才发现被这个js组件涮了,挂着ajax的羊头却是通过提交到隐藏的iframe的方式来实现的。
...全文
243 4 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
专业二三维GIS 2009-09-29
  • 打赏
  • 举报
回复
呵呵,通常在做Web应用时都会避免用ActiveX控件,这是逼不得已的办法.
我本来是想找找看当用户通过<input type="file">控件来指定文件后能不能通过javascript的某种方法获取到,这其实是不违反安全规则的,但很可惜确实找不到这样的方法,应该说也不可能找到。
实在不行也只能通过通过隐藏iframe实现。iframe不能称为ajax,尤其是会刷进度条不太友好。
gordonkkk 2009-09-29
  • 打赏
  • 举报
回复
做个activeX啊。
你也知道是有沙箱的,那你想用纯JavaScript(ajax就是JavaScript)上传文件,完全不借助外力,这不是痴心妄想吗?
专业二三维GIS 2009-09-29
  • 打赏
  • 举报
回复
回1楼,怎么编码?
javascript是有安全沙箱的,在正常的安全性条件下,javascript是不能访问客户端的文件的,文件都获取不到,那编码岂不是无米之炊?
gordonkkk 2009-09-29
  • 打赏
  • 举报
回复
ajax只能处理字符串。
你要上传的东西,如果要原原本本的上传,必须用iframe
当让如果没那么大的话,可以考虑用base64编码后,ajax用post方法上传。

81,122

社区成员

发帖
与我相关
我的任务
社区描述
Java Web 开发
社区管理员
  • Web 开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧