javascript怎么获取文件选择对话框选中文件的文本内容?

Gaken 2013-12-31 05:12:28
大概流程如下:点击页面按钮——>弹出文件选择对话框——>选择文件——>获取文件文本内容——>打印或输出在某个div;请问用javascript怎么实现?要能获取选中文件的绝对路径也行,什么C:\fakepath...就不要说了。最好有示例代码,不要谈太多理论

...全文
612 13 打赏 收藏 转发到动态 举报
写回复
用AI写文章
13 条回复
切换为时间正序
请发表友善的回复…
发表回复
Gaken 2014-01-02
  • 打赏
  • 举报
回复
引用 12 楼 l676331991 的回复:
[quote=引用 11 楼 lin9118 的回复:] [quote=引用 10 楼 zzgzzg00 的回复:] 上传貌似就是这个原理啊 获取本地路径后io读取并写入到服务器 你那样做的话估计不比上传省时间吧? 可以定时删除上传的文件 如果怕大的话
我那样做实际上就是直接让后台处理文件,前台只是传递一个路径,应该省了上传时间吧?如果上传的话,上传完了,后台还是要处理文件啊。定时删除上传文件倒是个不错的办法[/quote] 这是哪跟哪? 服务器是一台电脑,客户端是另一台电脑,浏览器提交个path过去,你java高高兴兴拿到path了,以为用这path能拿到客户端的文件?亲,这个path对于服务器来说有毛用处,中间隔着不知道多少物理链路呢!什么?你用localhost访问确实能行的通?卖嘎的!用localhost访问的话server和client是同一台电脑啦! 解决方案: 1.抛弃IE678,用HTML5 js中的FileReader,So easy就能搞定,详情关键字js/html5+fileReader。 2.upload给server,然后server再回传给client。what?删除文件?处理文件很麻烦?据我所知,web server对表单提交的文件,都是先存储在一个有安全限制的临时文件夹中(或者是干脆先放在内存中,如果你是内存大户),如果web应用需要这个文件,才需要程序员手动从这里挪到自己指定的目录下,这个工作叫上传文件的转存如果后端只是需要完成“接收文件”->"读取文件"->"返回内容给前端"这几个步骤的话,完全不需要自己管理上传目录的,删除上传的文件也是没必要的操作,何来麻烦之说?[/quote] fileReader可以实现,感谢大神,结贴给分
l676331991 2014-01-01
  • 打赏
  • 举报
回复
引用 11 楼 lin9118 的回复:
[quote=引用 10 楼 zzgzzg00 的回复:] 上传貌似就是这个原理啊 获取本地路径后io读取并写入到服务器 你那样做的话估计不比上传省时间吧? 可以定时删除上传的文件 如果怕大的话
我那样做实际上就是直接让后台处理文件,前台只是传递一个路径,应该省了上传时间吧?如果上传的话,上传完了,后台还是要处理文件啊。定时删除上传文件倒是个不错的办法[/quote] 这是哪跟哪? 服务器是一台电脑,客户端是另一台电脑,浏览器提交个path过去,你java高高兴兴拿到path了,以为用这path能拿到客户端的文件?亲,这个path对于服务器来说有毛用处,中间隔着不知道多少物理链路呢!什么?你用localhost访问确实能行的通?卖嘎的!用localhost访问的话server和client是同一台电脑啦! 解决方案: 1.抛弃IE678,用HTML5 js中的FileReader,So easy就能搞定,详情关键字js/html5+fileReader。 2.upload给server,然后server再回传给client。what?删除文件?处理文件很麻烦?据我所知,web server对表单提交的文件,都是先存储在一个有安全限制的临时文件夹中(或者是干脆先放在内存中,如果你是内存大户),如果web应用需要这个文件,才需要程序员手动从这里挪到自己指定的目录下,这个工作叫上传文件的转存如果后端只是需要完成“接收文件”->"读取文件"->"返回内容给前端"这几个步骤的话,完全不需要自己管理上传目录的,删除上传的文件也是没必要的操作,何来麻烦之说?
Gaken 2014-01-01
  • 打赏
  • 举报
回复
引用 10 楼 zzgzzg00 的回复:
上传貌似就是这个原理啊 获取本地路径后io读取并写入到服务器 你那样做的话估计不比上传省时间吧? 可以定时删除上传的文件 如果怕大的话
我那样做实际上就是直接让后台处理文件,前台只是传递一个路径,应该省了上传时间吧?如果上传的话,上传完了,后台还是要处理文件啊。定时删除上传文件倒是个不错的办法
似梦飞花 2014-01-01
  • 打赏
  • 举报
回复
上传貌似就是这个原理啊 获取本地路径后io读取并写入到服务器 你那样做的话估计不比上传省时间吧? 可以定时删除上传的文件 如果怕大的话
Gaken 2014-01-01
  • 打赏
  • 举报
回复
引用 6 楼 stmal 的回复:
在前台读取选中的文件的内容 你的意思是用脚本访问硬盘里的文件? 这个,Js好像办不到啊。如果是PHP的话就很容易。
嗯,我就是想用脚本访问硬盘里的文件,可能有点想当然了,我后台用的是java
Gaken 2014-01-01
  • 打赏
  • 举报
回复
引用 7 楼 zzgzzg00 的回复:
html5 FileReader倒是可以读 但不是所有浏览器都支持 或者按版主说的提交到后台由后台读 可以先上传到服务器的摸个目录 上传结束后用io读取试试
这个我也想过,但是如果传到服务器的话,那服务器就要创建一个文件夹,专门放置上传的文件,这样的话文件就跟本地文件重复了,而且上传时间也是个问题,速度就会大打折扣。我想最好的办法就是获取文件的绝对路径,把路径传给服务端(servlet,我的后台用的是java),让后台直接处理,这样就省了上传文件的时间,而且也不用在服务端创建文件夹。但是这似乎是想当然了,都说不能实现,不知道各位大神有没有更好的办法
似梦飞花 2013-12-31
  • 打赏
  • 举报
回复
html5 FileReader倒是可以读 但不是所有浏览器都支持 或者按版主说的提交到后台由后台读 可以先上传到服务器的摸个目录 上传结束后用io读取试试
stmal 2013-12-31
  • 打赏
  • 举报
回复
在前台读取选中的文件的内容 你的意思是用脚本访问硬盘里的文件? 这个,Js好像办不到啊。如果是PHP的话就很容易。
Gaken 2013-12-31
  • 打赏
  • 举报
回复
引用 4 楼 showbo 的回复:
[quote=引用 3 楼 lin9118 的回复:] [quote=引用 2 楼 showbo 的回复:] 先传到服务器,服务器读取后再返回给客户端,直接js读取有权限问题 代码自己写
本人菜鸟,请问传什么给后台?路径?还是文本内容?[/quote] 提交表单到隐藏iframe中,动态页读取文件内容后输出文件内容,并更新你需要更新的容器 动态页输出
<script>
parent.getElementById('容器id').innerHTML='动态页读出的内容,注意要替换\r\n为<br/>,\'字符串要进行转义';
</script>
[/quote] 大神,是这样的,我最终要的是在前台读取选中的文件的内容传递给后台去处理,重点不是在前台显示读出来的内容,这是为了调试读取的内容是否正确。还有,动态页读取的文件内容是怎么读取的?如果您有空,麻烦您示范一下
Go 旅城通票 2013-12-31
  • 打赏
  • 举报
回复
引用 3 楼 lin9118 的回复:
[quote=引用 2 楼 showbo 的回复:] 先传到服务器,服务器读取后再返回给客户端,直接js读取有权限问题 代码自己写
本人菜鸟,请问传什么给后台?路径?还是文本内容?[/quote] 提交表单到隐藏iframe中,动态页读取文件内容后输出文件内容,并更新你需要更新的容器 动态页输出
<script>
parent.getElementById('容器id').innerHTML='动态页读出的内容,注意要替换\r\n为<br/>,\'字符串要进行转义';
</script>
Gaken 2013-12-31
  • 打赏
  • 举报
回复
引用 2 楼 showbo 的回复:
先传到服务器,服务器读取后再返回给客户端,直接js读取有权限问题 代码自己写
本人菜鸟,请问传什么给后台?路径?还是文本内容?
Go 旅城通票 2013-12-31
  • 打赏
  • 举报
回复
先传到服务器,服务器读取后再返回给客户端,直接js读取有权限问题 代码自己写
lostuser 2013-12-31
  • 打赏
  • 举报
回复
请问用javascript怎么实现? 不能

87,910

社区成员

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

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