hooyantsing's Blog

文件上传至服务器

字数统计: 249阅读时长: 1 min
2019/11/26

文件上传至服务器

前端:

1
2
3
4
5
6
7
<!-- method提交方式  enctype编码格式  -->
<form action="tmp_doupload.jsp"  method="post" enctype="multipart/form-data">
    <input type="file" name="file"  multiple>

    <input type="submit" value="上传">

</form>

后端:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
// 创建文件上传对象
        SmartUpload su = new SmartUpload();
        // 初始化,传入页面上下文对象
        su.initialize(getServletConfig(),  request, response);
        // 设置上传的配置信息
        // 限定文件名后缀
         su.setAllowedFilesList("jpg,png,gif,bmp");
        // 限定大小
        su.setMaxFileSize(1024 * 1024 * 10);
        // 执行上传
        try {
           su.upload();
       } catch (SmartUploadException e) {
           // TODO 自动生成的 catch 块
           e.printStackTrace();
       }
        
        //判断是否有上传文件
        String webPath = null;
        if(su.getFiles().getSize()>0) {
            Files files = su.getFiles();
            String filename =  files.getFile(0).getFileName();
            // 使用application(应用上下文对象) web路径 转换成 磁盘路径
            // getServletContext() ===  application
            String diskPath =  getServletContext().getRealPath("/bookimg/upload");
            try {
               files.getFile(0).saveAs(diskPath + "/" +  filename);
           } catch (SmartUploadException e)  {
               // TODO 自动生成的 catch 块
               e.printStackTrace();
           }
            webPath = "bookimg/upload/" +  filename;
        }
CATALOG