图片上传保存位置选择

来源:互联网 发布:汽车修理厂用哪些软件 编辑:程序博客网 时间:2024/04/28 19:49

我们经常做的网站不免要传一些文件或者图片到服务器端保留并在前端显示,这就要考虑到图片的上传位置了,我们一般将其保存在加载这个工程的的目录中,即这个工程所在的上一级目录:之前用System.getProperty("user.dir");获取路径,但是这个路径是用户工程所在路径:例:用户的当前工作目录:C:\Users\Administrator\Workspaces\MyEclipse Professional\kedou,只能在本地运行,如果部署到服务器上就会出现路径找不到的错误了。这时我们应该用this.getServletContext().getRealPath("/");获取服务器的目录地址:例:D:\apache-tomcat-7.0.56\webapps\kedou,这样无论在本机或者在服务器都不会出现路径找不到的错误了!

1.首先我们就要获取到当前工程所在的目录:

System.getProperty("user.dir");//用户的当前工作目录:

File file = new File(System.getProperty("user.dir"));

2.获取工程所在位置的上一级目录:

String path = file.getParent()+File.separator+"upload";

3.判断是否有存储文件的文件夹,如果没有则新建:

File file = new File(path); 

if(!file.exists()) 

{ file.mkdirs(); }

4.之后就可以获取这个路径,并将文件上传进去或者获取了。



一些参数的获取和设置:

public static void main(String[] args){ 


   System.out.println("Java运行时环境版本:\n"+System.getProperty("java.version")); 


   System.out.println("Java 运行时环境供应商:\n"+System.getProperty("java.vendor")); 


   System.out.println("Java 供应商的URL:\n"+System.getProperty("java.vendor.url")); 


   System.out.println("Java安装目录:\n"+System.getProperty("java.home")); 


   System.out.println("Java 虚拟机规范版本:\n"+System.getProperty("java.vm.specification.version")); 


   System.out.println("Java 类格式版本号:\n"+System.getProperty("java.class.version")); 


   System.out.println("Java类路径:\n"+System.getProperty("java.class.path")); 


   System.out.println("加载库时搜索的路径列表:\n"+System.getProperty("java.library.path")); 


   System.out.println("默认的临时文件路径:\n"+System.getProperty("java.io.tmpdir")); 


   System.out.println("要使用的 JIT 编译器的名称:\n"+System.getProperty("java.compiler")); 


   System.out.println("一个或多个扩展目录的路径:\n"+System.getProperty("java.ext.dirs")); 


   System.out.println("操作系统的名称:\n"+System.getProperty("os.name")); 


   System.out.println("操作系统的架构:\n"+System.getProperty("os.arch")); 


   System.out.println("操作系统的版本:\n"+System.getProperty("os.version")); 


   System.out.println("文件分隔符(在 UNIX 系统中是“/”):\n"+System.getProperty("file.separator")); 


   System.out.println("路径分隔符(在 UNIX 系统中是“:”):\n"+System.getProperty("path.separator")); 


   System.out.println("行分隔符(在 UNIX 系统中是“/n”):\n"+System.getProperty("line.separator")); 


   System.out.println("用户的账户名称:\n"+System.getProperty("user.name")); 


   System.out.println("用户的主目录:\n"+System.getProperty("user.home")); 


   System.out.println("用户的当前工作目录:\n"+System.getProperty("user.dir")); 
   }

0 0
原创粉丝点击