使用common-fileupload上传文件比较简单,先去 http://commons.apache.org/fileupload/ 下载好相关的jar包,然后准备好上传的页面文件,主要的是一个form,如下:
其中最主要的就是form的enctype属性一定得是"multipart/form-data"。然后就是接受文件的Java类了,这里以Struts的Action为例。
public ActionForward uploadFile(ActionMapping mapping, ActionForm form,HttpServletRequest request, HttpServletResponse response) throws Exception { ActionForward forward = null; HttpSession session = request.getSession(); PrintWriter out = response.getWriter(); //设置上传文件的大小限制 final long MAX_SIZE = 200 * 1024 * 1024; //设置上传文件在服务器的目录 String fileFolder = "../webapps/fileupload"; String fileName=""; String contentType=""; String fileSize=""; //从页面传过来的参数值的数组(File除外) String[] paraArray=new String[3]; int paraNo=0; //判断该请求是否是文件上传的请求 boolean isMultipart = ServletFileUpload.isMultipartContent(request); if (isMultipart) { DiskFileItemFactory factory = new DiskFileItemFactory(); //设置上传文件时用于临时存放文件的内存大小 factory.setSizeThreshold(100 * 1024); //设置存放临时文件的目录,这个目录需要事先建立好 factory.setRepository(new File(fileFolder + "/temp")); ServletFileUpload upload = new ServletFileUpload(factory); upload.setSizeMax(MAX_SIZE); upload.setHeaderEncoding("UTF-8"); try { List filelist = upload.parseRequest(request); for (Iterator it = filelist.iterator(); it.hasNext();) { FileItem item = it.next(); //判断是form表单域还是上传文件file域 if (item.isFormField()) { //处理form表单域 String name = new String(item.getFieldName().getBytes("ISO-8859-1"),"UTF-8"); String value =new String(item.getString().getBytes("ISO-8859-1"),"UTF-8"); paraArray[paraNo]=value; paraNo++; } else { //处理fileUpload if(item.getSize()>=MAX_SIZE) { forward=mapping.findForward("uploadFile"); return forward; }else { int tempSize=(int) (item.getSize()/1024); if(tempSize*1024 { fileSize=tempSize+1+""; }else { fileSize=tempSize+""; } String fieldName = item.getFieldName(); //取得文件类型 contentType = item.getContentType(); //文件的全路径 fileName =item.getName(); //得到去除路径的文件名 int index = fileName.lastIndexOf("//"); fileName = fileName.substring(index + 1); //构建一个文件 File uploadFile = new File(fileFolder, fileName); //保存文件 item.write(uploadFile); } } } out.print("UploadFile Successfully !"); //FileService.saveFile(paraArray); } catch (FileUploadException e) { out.print("File is too large,maxsize is 200MB !"); } catch (Exception e) { logger.debug(e); } } out.flush(); out.close(); return forward; }
代码是在英文操作系统下运行的,所以需要将传过来的参数转码。
本文向大家介绍java组件fileupload文件上传demo,包括了java组件fileupload文件上传demo的使用技巧和注意事项,需要的朋友参考一下 在我们的web开发中,很多的时候都需要把本机的一些文件上传到web服务器上面去。 如:一个BBS系统,当用户使用这是系统的时候,能把本机的一些图片,文档上传到服务器上面去。然后其他用户可以去下载这些文件,那么这样的话,我们可以自己编程实现文
本文向大家介绍JQuery fileupload插件实现文件上传功能,包括了JQuery fileupload插件实现文件上传功能的使用技巧和注意事项,需要的朋友参考一下 道理相通,我简单分享下在.net MVC下的实装。 1.制作Model类 2.实装controller里的对应方法,我这个处理逻辑比较复杂,懒得修改了,反正就这个意思 3.页面的实装 √,就是这个样子 还附赠了一个简易lodin
本文向大家介绍Java组件FileUpload上传文件实现代码,包括了Java组件FileUpload上传文件实现代码的使用技巧和注意事项,需要的朋友参考一下 一般在用Servlet处理表单元素时,表单元素都是一些简单的文本,Servlet很容易用Request.getParameter()就可以处理。但是当表单不止包含一些简单的文本,比如有上传文件域时,Servlet直接从HttpServlet
本文向大家介绍Asp.Net的FileUpload类实现上传文件实例,包括了Asp.Net的FileUpload类实现上传文件实例的使用技巧和注意事项,需要的朋友参考一下 本文实例讲述了Asp.Net的FileUpload类实现上传文件的方法。分享给大家供大家参考。 具体功能代码如下: 希望本文所述对大家的asp.net程序设计有所帮助。
本文向大家介绍使用fileupload组件实现文件上传功能,包括了使用fileupload组件实现文件上传功能的使用技巧和注意事项,需要的朋友参考一下 FileUpload文件上传 fileUpload是apache的commons组件提供的上传组件,它最主要的工作就是帮我们解析request.getInpustream()。 使用fileUpload组件首先需要引入两个jar包: commons
我试图使用“流式”Apache Commons文件上传API上传一个大文件。 我使用Apache Commons文件上传器而不是默认的Spring多部分上传器的原因是,当我们上传非常大的文件大小(~2GB)时,它会失败。我在一个GIS应用程序中工作,这样的文件上传非常常见。 我可能做错了什么?
问题内容: 我正在尝试使用“流式” Apache Commons File Upload API上传大文件。 我使用Apache Commons File Uploader而不是默认的Spring Multipart Uploader的原因是,当我们上传非常大的文件大小(〜2GB)时,它失败了。我在GIS应用程序上工作,这种文件上传非常常见。 我的文件上传控制器的完整代码如下: 麻烦的是,始终返回
问题内容: 我已经在本文中解决了其他一些问题(fileuploadhandler现在正在工作),其中我的代码如下: 豆: xhtml页面: 我现在面临的问题(或我提出一个新问题的原因)是,当我上传多个(例如三个)文件时,只有其中一个被追加到空列表中。当我重新上传剩余的两个文件时,再次,只有其中一个附加到列表中。 有趣的是为每个文件都调用handleFileUpload(…)。 当我同时上传三个文件