资源简介

javaweb实现图片上传,图片加载,图片显示,图片按照任意高宽比例显示,其中上传的图片保存在服务器上

资源截图

代码片段和文件信息

package a1;

import java.io.File;
import java.io.IOException;
import java.util.HashMap;
import java.util.Map;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

/**
* @ClassName: ListFileServlet
* @Description: 列出Web系统中所有下载文件
* @author: 孤傲苍狼
* @date: 2015-1-4 下午9:54:40
*
*/ 
public class ListFileServlet extends HttpServlet {

    public void doGet(HttpServletRequest request HttpServletResponse response)
            throws ServletException IOException {
        //获取上传文件的目录
        String uploadFilePath = this.getServletContext().getRealPath(“e:\\files\\“);
        //存储要下载的文件名
        Map fileNameMap = new HashMap();
        //递归遍历filepath目录下的所有文件和目录,将文件的文件名存储到map集合中
        listfile(new File(uploadFilePath)fileNameMap);//File既可以代表一个文件也可以代表一个目录
        //将Map集合发送到listfile.jsp页面进行显示
        request.setAttribute(“fileNameMap“ fileNameMap);
        request.getRequestDispatcher(“/listfile.jsp“).forward(request response);
    }
    
    /**
    * @Method: listfile
    * @Description: 递归遍历指定目录下的所有文件
    * @param file 即代表一个文件,也代表一个文件目录
    * @param map 存储文件名的Map集合
    */ 
    public void listfile(File fileMap map){
        //如果file代表的不是一个文件,而是一个目录
        if(!file.isFile()){
            //列出该目录下的所有文件和目录
            File files[] = file.listFiles();
            //遍历files[]数组
            for(File f : files){
                //递归
                listfile(fmap);
            }
        }else{
            /**
             * 处理文件名,上传后的文件是以uuid_文件名的形式去重新命名的,去除文件名的uuid_部分
                file.getName().indexOf(“_“)检索字符串中第一次出现“_“字符的位置,如果文件名类似于:9349249849-88343-8344_阿_凡_达.avi
                那么file.getName().substring(file.getName().indexOf(“_“)+1)处理之后就可以得到阿_凡_达.avi部分
             */
            String realName = file.getName().substring(file.getName().indexOf(“_“)+1);
            //file.getName()得到的是文件的原始名称,这个名称是唯一的,因此可以作为key,realName是处理过后的名称,有可能会重复
            map.put(file.getName() realName);
        }
    }
    
    public void doPost(HttpServletRequest request HttpServletResponse response)
            throws ServletException IOException {
        doGet(request response);
    }
}

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----
     目录           0  2017-11-22 17:35  a1\
     文件        1140  2017-11-15 20:34  a1\.classpath
     文件        1327  2017-11-15 20:38  a1\.project
     目录           0  2017-11-15 20:37  a1\.settings\
     文件         522  2017-11-15 20:34  a1\.settings\.jsdtscope
     文件         104  2017-11-22 15:08  a1\.settings\org.eclipse.core.resources.prefs
     文件         364  2017-11-15 20:34  a1\.settings\org.eclipse.jdt.core.prefs
     文件         465  2017-11-15 20:34  a1\.settings\org.eclipse.wst.common.component
     文件         398  2017-11-15 20:34  a1\.settings\org.eclipse.wst.common.project.facet.core.xml
     文件          49  2017-11-15 20:34  a1\.settings\org.eclipse.wst.jsdt.ui.superType.container
     文件           6  2017-11-15 20:34  a1\.settings\org.eclipse.wst.jsdt.ui.superType.name
     文件        9412  2010-11-10 16:58  a1\head.png
     目录           0  2017-11-15 20:49  a1\src\
     目录           0  2017-11-22 17:32  a1\src\a1\
     文件        2634  2017-11-22 10:37  a1\src\a1\ListFileServlet.java
     文件        2809  2017-11-22 10:43  a1\src\a1\SimpleFileupload.java
     文件        2221  2017-11-22 17:32  a1\src\a1\SimpleUpload.java
     目录           0  2017-11-22 17:35  a1\WebRoot\
     文件         732  2017-11-22 16:44  a1\WebRoot\index.jsp
     文件        1760  2017-11-22 16:52  a1\WebRoot\listfile.jsp
     目录           0  2017-11-15 20:34  a1\WebRoot\meta-INF\
     文件          39  2017-11-15 20:34  a1\WebRoot\meta-INF\MANIFEST.MF
     文件         558  2017-11-22 16:44  a1\WebRoot\show.jsp
     文件        1296  2017-11-22 17:34  a1\WebRoot\simpleupload.jsp
     目录           0  2017-11-22 17:35  a1\WebRoot\WEB-INF\
     目录           0  2017-11-22 15:07  a1\WebRoot\WEB-INF\classes\
     目录           0  2017-11-22 17:32  a1\WebRoot\WEB-INF\classes\a1\
     文件        2496  2017-11-22 15:07  a1\WebRoot\WEB-INF\classes\a1\ListFileServlet.class
     文件        3839  2017-11-22 15:07  a1\WebRoot\WEB-INF\classes\a1\SimpleFileupload.class
     文件        3507  2017-11-22 17:32  a1\WebRoot\WEB-INF\classes\a1\SimpleUpload.class
     目录           0  2017-11-15 21:13  a1\WebRoot\WEB-INF\lib\
............此处省略2个文件信息

评论

共有 条评论