使用了百度的WebUploader上传组件,我要怎么写后台代码来实现保存在本地?
我看了4个demo,都使用了Commons-fileupload 来实现。
可是单独使用commons-fileupload不使用webupload这类上传组件也可以吧?
那么使用WebUploader的意义是什么呢?
Java,文件上传。困惑
- 写回答
- 好问题 0 提建议
- 追加酬金
- 关注问题
- 邀请回答
-
1条回答 默认 最新
- yu954663801 2016-08-10 07:05关注
// 创建文件上传核心类
DiskFileItemFactory factory = new DiskFileItemFactory();
ServletFileUpload sfu = new ServletFileUpload(factory);
// 设置编码
sfu.setHeaderEncoding("UTF-8");
// 设置上传的单个文件的最大字节数为2M
sfu.setFileSizeMax(1024 * 1024 * 2);
// 设置整个表单的最大字节数为10M
sfu.setSizeMax(1024 * 1024 * 10);try { // 处理表单请求 List itemList = sfu.parseRequest(request); Iterator it = itemList.iterator(); while (it.hasNext()) { FileItem fileItem = (FileItem) it.next(); // 对应表单中的控件的name String fieldName = fileItem.getFieldName(); System.out.println("控件名称:" + fieldName); // 如果是普通表单控件 if (fileItem.isFormField()) { String value = fileItem.getString(); //处理逻辑 } else { // 上传文件 // 获得文件大小 long size = fileItem.getSize(); // 获得文件名 String fileName = fileItem.getName(); System.out.println("文件名:" + fileName + "\t大小:" + size + "byte"); // 设置不允许上传的文件格式 if (fileName.endsWith(".exe")) { request.setAttribute("msg", "不允许上传的类型!"); } else { // 将文件保存到指定的路径 File file = new File(savePath, fileName); fileItem.write(file); request.setAttribute("msg", "上传成功!"); } } } } catch (FileSizeLimitExceededException e) { request.setAttribute("msg", "文件太大"); } catch (FileUploadException e) { e.printStackTrace(); } catch (Exception e) { e.printStackTrace(); }
本回答被题主选为最佳回答 , 对您是否有帮助呢?解决 无用评论 打赏 举报
悬赏问题
- ¥15 关于#windows#的问题:怎么用WIN 11系统的电脑 克隆WIN NT3.51-4.0系统的硬盘
- ¥15 matlab有关常微分方程的问题求解决
- ¥15 perl MISA分析p3_in脚本出错
- ¥15 k8s部署jupyterlab,jupyterlab保存不了文件
- ¥15 ubuntu虚拟机打包apk错误
- ¥199 rust编程架构设计的方案 有偿
- ¥15 回答4f系统的像差计算
- ¥15 java如何提取出pdf里的文字?
- ¥100 求三轴之间相互配合画圆以及直线的算法
- ¥100 c语言,请帮蒟蒻写一个题的范例作参考