ServletFileUpload使用实例(Java Servlet文件上传)

//**文件上传**    form表单提交必须指定Enctype 属性指定将数据回发到服务器时浏览器使用的编码类型"multipart/form-data"
             //1.创建磁盘文件项目工厂
         DiskFileItemFactory df=new DiskFileItemFactory);
                 //2.设置上传的内存缓存区大小    4096=4KB
             df.setSizeThreshold4096);
             //3.实列化Servlet文件上传对象    把'磁盘文件项目工厂'放入构造中(把缓存区大小放进去)
         ServletFileUpload upload=new ServletFileUploaddf);
             try {
                 //4.得到所有的上传表单对象集合    返回List<FileItem> 相当于每一个表单元素都是一个FileItem
                 List<FileItem> itemList=upload.parseRequestrequest);
                     //6.获取文件夹的绝对路径
                 String path=request.getSession).getServletContext).getRealPath"\\upload");
 
                     //5.遍历表单对象集合
                 String ntid="";
                 String ntitle="";
                 String nauthor="";
                 String nsummary="";
                 String ncontent="";
                 String file="";
                 String name="";
                     forFileItem item:itemList){
 //                        System.out.println"InMemory:"+item.isInMemory));判断FileItem对象是否是一个简单的表单字段
 
                         //取出用户提交内容
                         ifitem.isFormField)){//判断    item是否是简单的表单字段
                             ifitem.getFieldName).equals"ntid")){
                                 ntid=item.getString"utf-8");
                             }else ifitem.getFieldName).equals"ntitle")){
                                 ntitle=item.getString"utf-8");
                             }else ifitem.getFieldName).equals"nauthor")){
                                 nauthor=item.getString"utf-8");
                             }else ifitem.getFieldName).equals"nsummary")){
                                 nsummary=item.getString"utf-8");
                             }else ifitem.getFieldName).equals"ncontent")){
                                 file=item.getString"utf-8");
                             }
                         }else{
                             ifitem.getFieldName).equals"file")){
                                 //得到用户上传文件的路径
                                 String fileName=item.getName);
                                 //截取最后文件的名字
                                 int index=fileName.lastIndexOf"\\");
                                 name=fileName.substringindex+1);
 
                                 try {
                                     //把文件写入服务器文件夹
                                     item.writenew Filepath,name));
                                 } catch Exception e) {
                                     e.printStackTrace);
                                 }
                             }
                         }
                     }
             } catch FileUploadException e) {
                 /*    form表单中中没有设置
                     encType="multipart/form-data" method="post"
                     会造成此异常(FileUploadBase$InvalidContentTypeException)
                 */
                 e.printStackTrace);
             }

 

Published by

风君子

独自遨游何稽首 揭天掀地慰生平

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注