zoukankan      html  css  js  c++  java
  • java web开发 图片上传功能

    基本思路在于,配置路径,然后用java I/O的api将图片上传到该目录下。

    String photoPath =
       ServletActionContext.getServletContext().getRealPath("/user/photo/" + username);

    这句是获取服务器下的目录+username

    而username通过session获取。

    这是一个图片上传action的方法:

        public String execute() throws Exception {
            //获得username
            Map session = ServletActionContext.getContext().getSession();
            String username = (String) session.get("username");
            
            //创建一个输入流
            InputStream is = new FileInputStream(myFile);
            //设置文件保存目录
            String photoPath = 
                ServletActionContext.getServletContext().getRealPath("/user/photo/" + username);
            File filePhotoPath = new File(photoPath);
            if(!filePhotoPath.isDirectory()) {
                filePhotoPath.mkdir();
            }
            
            //解决中文文件名问题
            String extension = FilenameUtils.getExtension(this.getMyFileFileName());
            String filename = UUID.randomUUID().toString() + "."+ extension;
            
            //设置目标文件
            File tofile = new File(photoPath,filename);
            //使用输出流来包装目标文件
            OutputStream os = new FileOutputStream(tofile);
            byte[] buffer = new byte[1024];
            int length = 0;
            while((length = is.read(buffer)) > 0) {
                os.write(buffer, 0, length);
            }
            //关闭输入流
            is.close();
            //关闭输出流
            os.close();
            
            return this.SUCCESS;
        }
  • 相关阅读:
    ADO.NET Entity Framework 基本概述
    Team Fundation Server 2010 三
    Team Fundation Server 2010 一
    ADO.NET Data Services Framework 基础概述
    Git忽略已跟踪文件的改动
    菜单
    Eschool校园网平台介绍
    学习DDD与MVC系统架构的开源项目
    学校系统需求
    Firebird embed server
  • 原文地址:https://www.cnblogs.com/rixiang/p/5254355.html
Copyright © 2011-2022 走看看