获取上传文件绝对路径

时间:2022-08-17 18:46:15
我要获取上传文件的绝对路径,现在只有IE8才可以,其他浏览器为了安全都限制了,想问下有没有其他的方法能够获取到,前台后台都可以。。

22 个解决方案

#1


 你用的什么插件??
我所知道的的struts 没有你说的问题。。
直接upload.getAbsolutePath() 就可以了。。

#2


我要获取上传文件的绝对路径

客户端的决对路径 还是服务器端的?

#3


引用 1 楼 ch656409110 的回复:
 你用的什么插件??
我所知道的的struts 没有你说的问题。。
直接upload.getAbsolutePath() 就可以了。。


这个试过了,不行啊,获取的是在服务器的一个临时目下的路径,不是本地的,我就是一个普通的表单浏览文件,然后要获取这个文件的绝对路径

#4


引用 2 楼 AFer198215 的回复:
我要获取上传文件的绝对路径

客户端的决对路径 还是服务器端的?


是客户端的,就是c:/test/test.txt这样的

#5


引用 3 楼 u010889990 的回复:
Quote: 引用 1 楼 ch656409110 的回复:

 你用的什么插件??
我所知道的的struts 没有你说的问题。。
直接upload.getAbsolutePath() 就可以了。。


这个试过了,不行啊,获取的是在服务器的一个临时目下的路径,不是本地的,我就是一个普通的表单浏览文件,然后要获取这个文件的绝对路径

有的有的,,这个不行??那你找找肯定有的,绝对有,我以前调试的时候试过。,实在没有,那你在上传之前把路径通过隐藏域传递过来也是一样的呀。。。

#6


现在的浏览器大都屏蔽了绝对路径的。
再说,你拿绝对路径来干嘛阿?
文件的上传根本不需要知道文件的绝对路径啊。。

#7


客户端的绝对路径有什么用啊,难道你想偷文件
告诉你,你做不到的,除非别人愿意共享这个文件或文件夹

#8


客户端的不行,碍于安全限制。越现代的浏览器,真实路径被屏蔽的可能性越高。

你可以尝试用flash替代。

#9


String path = request.getSession().getServletContext().getRealPath("/upload");

#10


引用 8 楼 shine333 的回复:
客户端的不行,碍于安全限制。越现代的浏览器,真实路径被屏蔽的可能性越高。

你可以尝试用flash替代。

flash能获取绝对路径吗?

#11


引用 7 楼 s478853630 的回复:
客户端的绝对路径有什么用啊,难道你想偷文件
告诉你,你做不到的,除非别人愿意共享这个文件或文件夹


获取路径用客户端程序去做上传

#12


引用 5 楼 ch656409110 的回复:
Quote: 引用 3 楼 u010889990 的回复:

Quote: 引用 1 楼 ch656409110 的回复:

 你用的什么插件??
我所知道的的struts 没有你说的问题。。
直接upload.getAbsolutePath() 就可以了。。


这个试过了,不行啊,获取的是在服务器的一个临时目下的路径,不是本地的,我就是一个普通的表单浏览文件,然后要获取这个文件的绝对路径

有的有的,,这个不行??那你找找肯定有的,绝对有,我以前调试的时候试过。,实在没有,那你在上传之前把路径通过隐藏域传递过来也是一样的呀。。。



关键是获取不到啊,怎么隐藏啊

#13


引用 10 楼 u010889990 的回复:
Quote: 引用 8 楼 shine333 的回复:

客户端的不行,碍于安全限制。越现代的浏览器,真实路径被屏蔽的可能性越高。

你可以尝试用flash替代。

flash能获取绝对路径吗?

自己弄的可以,但是市面常见的SWFUpload只能获取真实的文件名,但没有路径。

#14


引用 13 楼 shine333 的回复:
Quote: 引用 10 楼 u010889990 的回复:

Quote: 引用 8 楼 shine333 的回复:

客户端的不行,碍于安全限制。越现代的浏览器,真实路径被屏蔽的可能性越高。

你可以尝试用flash替代。

flash能获取绝对路径吗?

自己弄的可以,但是市面常见的SWFUpload只能获取真实的文件名,但没有路径。


您有自己弄的代码吗?关键是我不会flash啊

#15


引用 12 楼 u010889990 的回复:
Quote: 引用 5 楼 ch656409110 的回复:

Quote: 引用 3 楼 u010889990 的回复:

Quote: 引用 1 楼 ch656409110 的回复:

 你用的什么插件??
我所知道的的struts 没有你说的问题。。
直接upload.getAbsolutePath() 就可以了。。


这个试过了,不行啊,获取的是在服务器的一个临时目下的路径,不是本地的,我就是一个普通的表单浏览文件,然后要获取这个文件的绝对路径

有的有的,,这个不行??那你找找肯定有的,绝对有,我以前调试的时候试过。,实在没有,那你在上传之前把路径通过隐藏域传递过来也是一样的呀。。。



关键是获取不到啊,怎么隐藏啊


前台:$("input[name='uploadFile']").val()    uploadFile为file的name.
后台:ServletActionContext.getServletContext().getRealPath("/attach");  attach是保存附件的文件夹。。这里最好用常量定义。。

#16


引用 15 楼 ch656409110 的回复:
Quote: 引用 12 楼 u010889990 的回复:

Quote: 引用 5 楼 ch656409110 的回复:

Quote: 引用 3 楼 u010889990 的回复:

Quote: 引用 1 楼 ch656409110 的回复:

 你用的什么插件??
我所知道的的struts 没有你说的问题。。
直接upload.getAbsolutePath() 就可以了。。


这个试过了,不行啊,获取的是在服务器的一个临时目下的路径,不是本地的,我就是一个普通的表单浏览文件,然后要获取这个文件的绝对路径

有的有的,,这个不行??那你找找肯定有的,绝对有,我以前调试的时候试过。,实在没有,那你在上传之前把路径通过隐藏域传递过来也是一样的呀。。。



关键是获取不到啊,怎么隐藏啊


前台:$("input[name='uploadFile']").val()    uploadFile为file的name.
后台:ServletActionContext.getServletContext().getRealPath("/attach");  attach是保存附件的文件夹。。这里最好用常量定义。。



你确定这个val获取的是本地的绝对路径吗?我要兼容浏览器的

#17


引用 16 楼 u010889990 的回复:
Quote: 引用 15 楼 ch656409110 的回复:

Quote: 引用 12 楼 u010889990 的回复:

Quote: 引用 5 楼 ch656409110 的回复:

Quote: 引用 3 楼 u010889990 的回复:

Quote: 引用 1 楼 ch656409110 的回复:

 你用的什么插件??
我所知道的的struts 没有你说的问题。。
直接upload.getAbsolutePath() 就可以了。。


这个试过了,不行啊,获取的是在服务器的一个临时目下的路径,不是本地的,我就是一个普通的表单浏览文件,然后要获取这个文件的绝对路径

有的有的,,这个不行??那你找找肯定有的,绝对有,我以前调试的时候试过。,实在没有,那你在上传之前把路径通过隐藏域传递过来也是一样的呀。。。



关键是获取不到啊,怎么隐藏啊


前台:$("input[name='uploadFile']").val()    uploadFile为file的name.
后台:ServletActionContext.getServletContext().getRealPath("/attach");  attach是保存附件的文件夹。。这里最好用常量定义。。



你确定这个val获取的是本地的绝对路径吗?我要兼容浏览器的


确不确定 试试就知道了。。

#18


引用 17 楼 ch656409110 的回复:
Quote: 引用 16 楼 u010889990 的回复:

Quote: 引用 15 楼 ch656409110 的回复:

Quote: 引用 12 楼 u010889990 的回复:

Quote: 引用 5 楼 ch656409110 的回复:

Quote: 引用 3 楼 u010889990 的回复:

Quote: 引用 1 楼 ch656409110 的回复:

 你用的什么插件??
我所知道的的struts 没有你说的问题。。
直接upload.getAbsolutePath() 就可以了。。


这个试过了,不行啊,获取的是在服务器的一个临时目下的路径,不是本地的,我就是一个普通的表单浏览文件,然后要获取这个文件的绝对路径

有的有的,,这个不行??那你找找肯定有的,绝对有,我以前调试的时候试过。,实在没有,那你在上传之前把路径通过隐藏域传递过来也是一样的呀。。。



关键是获取不到啊,怎么隐藏啊


前台:$("input[name='uploadFile']").val()    uploadFile为file的name.
后台:ServletActionContext.getServletContext().getRealPath("/attach");  attach是保存附件的文件夹。。这里最好用常量定义。。



你确定这个val获取的是本地的绝对路径吗?我要兼容浏览器的


确不确定 试试就知道了。。


不行的

#19


获取上传文件绝对路径
围观~~~我也遇到过这样的问题

#20


乐了,我写了个文件上传,IE10居然自动把全路径存进去了
我现在的问题是怎么屏蔽全路径啊

#21


String basePath=request.getSession().getServletContext().getRealPath("/");
String filePath = basePath+request.getParameter("filePath");
filePath=filePath.replace("/", File.separator);

参考下

#22


我也遇到了这个问题,获取不到上传文件的源地址,楼主解决了吗,教教我!!!!

#1


 你用的什么插件??
我所知道的的struts 没有你说的问题。。
直接upload.getAbsolutePath() 就可以了。。

#2


我要获取上传文件的绝对路径

客户端的决对路径 还是服务器端的?

#3


引用 1 楼 ch656409110 的回复:
 你用的什么插件??
我所知道的的struts 没有你说的问题。。
直接upload.getAbsolutePath() 就可以了。。


这个试过了,不行啊,获取的是在服务器的一个临时目下的路径,不是本地的,我就是一个普通的表单浏览文件,然后要获取这个文件的绝对路径

#4


引用 2 楼 AFer198215 的回复:
我要获取上传文件的绝对路径

客户端的决对路径 还是服务器端的?


是客户端的,就是c:/test/test.txt这样的

#5


引用 3 楼 u010889990 的回复:
Quote: 引用 1 楼 ch656409110 的回复:

 你用的什么插件??
我所知道的的struts 没有你说的问题。。
直接upload.getAbsolutePath() 就可以了。。


这个试过了,不行啊,获取的是在服务器的一个临时目下的路径,不是本地的,我就是一个普通的表单浏览文件,然后要获取这个文件的绝对路径

有的有的,,这个不行??那你找找肯定有的,绝对有,我以前调试的时候试过。,实在没有,那你在上传之前把路径通过隐藏域传递过来也是一样的呀。。。

#6


现在的浏览器大都屏蔽了绝对路径的。
再说,你拿绝对路径来干嘛阿?
文件的上传根本不需要知道文件的绝对路径啊。。

#7


客户端的绝对路径有什么用啊,难道你想偷文件
告诉你,你做不到的,除非别人愿意共享这个文件或文件夹

#8


客户端的不行,碍于安全限制。越现代的浏览器,真实路径被屏蔽的可能性越高。

你可以尝试用flash替代。

#9


String path = request.getSession().getServletContext().getRealPath("/upload");

#10


引用 8 楼 shine333 的回复:
客户端的不行,碍于安全限制。越现代的浏览器,真实路径被屏蔽的可能性越高。

你可以尝试用flash替代。

flash能获取绝对路径吗?

#11


引用 7 楼 s478853630 的回复:
客户端的绝对路径有什么用啊,难道你想偷文件
告诉你,你做不到的,除非别人愿意共享这个文件或文件夹


获取路径用客户端程序去做上传

#12


引用 5 楼 ch656409110 的回复:
Quote: 引用 3 楼 u010889990 的回复:

Quote: 引用 1 楼 ch656409110 的回复:

 你用的什么插件??
我所知道的的struts 没有你说的问题。。
直接upload.getAbsolutePath() 就可以了。。


这个试过了,不行啊,获取的是在服务器的一个临时目下的路径,不是本地的,我就是一个普通的表单浏览文件,然后要获取这个文件的绝对路径

有的有的,,这个不行??那你找找肯定有的,绝对有,我以前调试的时候试过。,实在没有,那你在上传之前把路径通过隐藏域传递过来也是一样的呀。。。



关键是获取不到啊,怎么隐藏啊

#13


引用 10 楼 u010889990 的回复:
Quote: 引用 8 楼 shine333 的回复:

客户端的不行,碍于安全限制。越现代的浏览器,真实路径被屏蔽的可能性越高。

你可以尝试用flash替代。

flash能获取绝对路径吗?

自己弄的可以,但是市面常见的SWFUpload只能获取真实的文件名,但没有路径。

#14


引用 13 楼 shine333 的回复:
Quote: 引用 10 楼 u010889990 的回复:

Quote: 引用 8 楼 shine333 的回复:

客户端的不行,碍于安全限制。越现代的浏览器,真实路径被屏蔽的可能性越高。

你可以尝试用flash替代。

flash能获取绝对路径吗?

自己弄的可以,但是市面常见的SWFUpload只能获取真实的文件名,但没有路径。


您有自己弄的代码吗?关键是我不会flash啊

#15


引用 12 楼 u010889990 的回复:
Quote: 引用 5 楼 ch656409110 的回复:

Quote: 引用 3 楼 u010889990 的回复:

Quote: 引用 1 楼 ch656409110 的回复:

 你用的什么插件??
我所知道的的struts 没有你说的问题。。
直接upload.getAbsolutePath() 就可以了。。


这个试过了,不行啊,获取的是在服务器的一个临时目下的路径,不是本地的,我就是一个普通的表单浏览文件,然后要获取这个文件的绝对路径

有的有的,,这个不行??那你找找肯定有的,绝对有,我以前调试的时候试过。,实在没有,那你在上传之前把路径通过隐藏域传递过来也是一样的呀。。。



关键是获取不到啊,怎么隐藏啊


前台:$("input[name='uploadFile']").val()    uploadFile为file的name.
后台:ServletActionContext.getServletContext().getRealPath("/attach");  attach是保存附件的文件夹。。这里最好用常量定义。。

#16


引用 15 楼 ch656409110 的回复:
Quote: 引用 12 楼 u010889990 的回复:

Quote: 引用 5 楼 ch656409110 的回复:

Quote: 引用 3 楼 u010889990 的回复:

Quote: 引用 1 楼 ch656409110 的回复:

 你用的什么插件??
我所知道的的struts 没有你说的问题。。
直接upload.getAbsolutePath() 就可以了。。


这个试过了,不行啊,获取的是在服务器的一个临时目下的路径,不是本地的,我就是一个普通的表单浏览文件,然后要获取这个文件的绝对路径

有的有的,,这个不行??那你找找肯定有的,绝对有,我以前调试的时候试过。,实在没有,那你在上传之前把路径通过隐藏域传递过来也是一样的呀。。。



关键是获取不到啊,怎么隐藏啊


前台:$("input[name='uploadFile']").val()    uploadFile为file的name.
后台:ServletActionContext.getServletContext().getRealPath("/attach");  attach是保存附件的文件夹。。这里最好用常量定义。。



你确定这个val获取的是本地的绝对路径吗?我要兼容浏览器的

#17


引用 16 楼 u010889990 的回复:
Quote: 引用 15 楼 ch656409110 的回复:

Quote: 引用 12 楼 u010889990 的回复:

Quote: 引用 5 楼 ch656409110 的回复:

Quote: 引用 3 楼 u010889990 的回复:

Quote: 引用 1 楼 ch656409110 的回复:

 你用的什么插件??
我所知道的的struts 没有你说的问题。。
直接upload.getAbsolutePath() 就可以了。。


这个试过了,不行啊,获取的是在服务器的一个临时目下的路径,不是本地的,我就是一个普通的表单浏览文件,然后要获取这个文件的绝对路径

有的有的,,这个不行??那你找找肯定有的,绝对有,我以前调试的时候试过。,实在没有,那你在上传之前把路径通过隐藏域传递过来也是一样的呀。。。



关键是获取不到啊,怎么隐藏啊


前台:$("input[name='uploadFile']").val()    uploadFile为file的name.
后台:ServletActionContext.getServletContext().getRealPath("/attach");  attach是保存附件的文件夹。。这里最好用常量定义。。



你确定这个val获取的是本地的绝对路径吗?我要兼容浏览器的


确不确定 试试就知道了。。

#18


引用 17 楼 ch656409110 的回复:
Quote: 引用 16 楼 u010889990 的回复:

Quote: 引用 15 楼 ch656409110 的回复:

Quote: 引用 12 楼 u010889990 的回复:

Quote: 引用 5 楼 ch656409110 的回复:

Quote: 引用 3 楼 u010889990 的回复:

Quote: 引用 1 楼 ch656409110 的回复:

 你用的什么插件??
我所知道的的struts 没有你说的问题。。
直接upload.getAbsolutePath() 就可以了。。


这个试过了,不行啊,获取的是在服务器的一个临时目下的路径,不是本地的,我就是一个普通的表单浏览文件,然后要获取这个文件的绝对路径

有的有的,,这个不行??那你找找肯定有的,绝对有,我以前调试的时候试过。,实在没有,那你在上传之前把路径通过隐藏域传递过来也是一样的呀。。。



关键是获取不到啊,怎么隐藏啊


前台:$("input[name='uploadFile']").val()    uploadFile为file的name.
后台:ServletActionContext.getServletContext().getRealPath("/attach");  attach是保存附件的文件夹。。这里最好用常量定义。。



你确定这个val获取的是本地的绝对路径吗?我要兼容浏览器的


确不确定 试试就知道了。。


不行的

#19


获取上传文件绝对路径
围观~~~我也遇到过这样的问题

#20


乐了,我写了个文件上传,IE10居然自动把全路径存进去了
我现在的问题是怎么屏蔽全路径啊

#21


String basePath=request.getSession().getServletContext().getRealPath("/");
String filePath = basePath+request.getParameter("filePath");
filePath=filePath.replace("/", File.separator);

参考下

#22


我也遇到了这个问题,获取不到上传文件的源地址,楼主解决了吗,教教我!!!!