`

上传文件(2)

 
阅读更多

从网上下载commons-fileupload-1.3.1,commons-io-2.4两个jar包

  1) 确定本次请求是否是文件上传请求

 

boolean isMultipart = ServletFileUpload.isMultipartContent(request);

   2) 创建文件上传的工厂对象

 

 

FileItemFactory factory=new DiskFileItemFactory();

 3) 创建ServletFileUpload对象,并将工厂对象作为参数传入

 

 

 ServletFileUpload upload=new ServletFileUpload(factory);

   4) 使用上传对象从请求对象中解析出提交的所有表单元素

 

 

 List<FileItem> lstForms=upload.parseRequest(request);

   5) 遍历表单元素集合,实现取出表单元素和上传文件

 

 

   for (FileItem fileItem : lstForms) {

        //判断每一个表单元素是否是普通表单

        if(fileItem.isFormField()){

            System.out.println(fileItem.getString("UTF-8"));

        }else{

            //上传前准备工作

                //a、上传后的路径this.getServletContext().getRealPath("/")会出去当前项目在 部署的服务器上的绝对路径

                String path=this.getServletContext().getRealPath("/")+"files/";

                //b、找出要上传的文件的名字

                String fileName=fileItem.getName();

                fileName=fileName.substring(fileName.lastIndexOf("\\")+1);

                //c、上传

                fileItem.write(new File(path+fileName));

                out.println("<h2>"+fileName+"上传成功!</h2>");

    }

 5)实际应用中的代码

      String savePath = request.getSession().getServletContext().getRealPath("/") + "upload/";

 

 

for (FileItem item : fileItems) {
    if (item.isFormField()) {
	 if ("choose".equals(item.getFieldName())) {
		choose = item.getString("UTF-8");
	        System.out.println(choose);
	  }else if ("title".equals(item.getFieldName())) {
	         title = item.getString("UTF-8");
	         System.out.println(title);
	  } else if("content".equals(item.getFieldName())){
	         content = item.getString("UTF-8");
	         System.out.println(content);
	  }else{	                      
	      
	         String s = item.getString("UTF-8");
	         System.out.println(s);
	       }
    }else{
          fileName = item.getName();
	  String pictures_url = null;
    	  File file = new File(savePath + "/");
	      if (!file.exists()) {
		        file.mkdirs();
		                   }
			 String wirteFile_url = savePath  + "/" + fileName; 
			 File wirteFile = new File(wirteFile_url); 
			 item.write(wirteFile);

 

 

分享到:
评论

相关推荐

    HTML上传文件的3种实现方法.1用flash上传文件2用js插件上传文件3用表单上传文件

    HTML实现文件上传的3种实现方法 1用flash上传文件 2用js插件上传文件 3用表单上传文件

    C#上传支持2G文件上传,多文件上传!

    2. **多文件上传**:多文件上传涉及处理多个并发操作。C#中可以通过创建多个任务(Task)或者使用异步编程(async/await)来实现。 3. **线程**:在处理大文件或多文件上传时,使用线程可以提高程序性能,特别是当...

    nginx搭建文件服务器上传文件获取文件

    ### Nginx 搭建文件服务器:上传与获取文件 在互联网技术中,Nginx 被广泛用于构建高性能、稳定的Web服务器环境。本文将详细介绍如何利用 OpenResty + Nginx + Lua 实现一个文件服务器,该服务器支持文件上传与获取...

    上传文件代码源码 网页上传源码

    2. **文件API** HTML5引入了File API,它提供了读取、操作和上传文件的能力。通过FileReader对象,我们可以读取文件内容并显示预览。例如,对于图片文件,可以使用`readAsDataURL()`方法获取文件的Base64编码,然后...

    struts2框架下的文件上传

    Struts2框架是Java Web开发中的一个流行MVC(Model-View-Controller)框架,它提供了丰富的功能,包括处理表单提交、文件上传等。在Struts2中,文件上传是一个常见的需求,可以帮助用户从客户端上传文件到服务器。...

    struts2文件上传下载源代码

    在Struts2中,文件上传和下载是常见的功能需求,特别是在处理用户交互和数据交换时。这篇博客文章提供的"struts2文件上传下载源代码"旨在帮助开发者理解和实现这些功能。 文件上传功能允许用户从他们的设备上传文件...

    基于SpringBoot的文件上传系统,前后端分离,单文件上传,多文件上传,大文件上传,断点续传,文件秒传,图片上传

    基于SpringBoot的文件上传系统,前后端分离,单文件上传,多文件上传,大文件上传,断点续传,文件秒传,图片上传 项目经过严格测试,确保可以运行! 采用前后端分离的方式进行开发,实现了几种常用的文件上传功能...

    struts2+jquery+ajax文件异步上传

    Struts2、jQuery和Ajax是Web开发中的三个关键组件,它们共同构成了文件异步上传的基础框架。这个项目是在MyEclipse环境下实现的一个简单的文件上传功能,让我们深入了解一下这些技术及其在文件上传中的应用。 首先...

    SSH2文件上传

    SSH2文件上传是一种在远程服务器上通过Secure Shell (SSH)协议进行文件传输的方法。SSH2是SSH协议的第二版,提供了更强的安全性和更多的功能。在IT行业中,SSH2被广泛用于安全地管理远程服务器,包括执行命令、传输...

    Apache 文件上传与文件下载案例详解

    2. 文件上传的处理,通常使用Commons FileUpload库。 3. 文件列表的生成,可能涉及到文件系统操作。 4. 文件下载的实现,通过设置HTTP响应头触发浏览器下载。 5. 安全性考虑,如文件类型检查和大小限制。 以上就是...

    java图形化实现文件上传_javagui上传文件,gui编写上传下载文件功能-Java文档类资源

    (2)单击“上传服务器”窗口中的“启动服务..”按钮。 (3)单击“上传客服端”窗口中的“测试”按钮,如果弹出“连接成功”界面,那就说明你可以上传文件了。 (4)单击“上传客服端”窗口中的“浏览”按钮,...

    java struts2 文件上传 支持大文件

    Java Struts2 文件上传是Java Web开发中常见的一项功能,特别是在处理大文件时,需要考虑性能和用户体验。Struts2框架提供了丰富的插件和配置来支持文件上传,其中包括进度条显示,以提升用户交互体验。以下是对这个...

    Vuejs文件上传组件多文件上传

    在Vue.js中,实现文件上传功能是常见的需求,尤其是在构建交互丰富的Web应用时。本篇将详细介绍Vue.js中实现多文件上传的相关知识点,以及如何使用`vue-upload-component`这个开源组件来帮助我们实现这一功能。 ...

    struts2上传文件源代码

    在这个“struts2上传文件源代码”中,我们将深入探讨Struts2如何实现文件上传功能,以及涉及到的相关知识点。 首先,文件上传是Web应用中常见的功能,它允许用户从本地计算机选择文件并将其发送到服务器。在Struts2...

    uniapp实现移动端上传文件功能

    在移动应用开发中,文件上传是一项常见的功能,尤其在社交、云存储以及各种服务类应用中,用户常常需要上传图片、文档等数据。uniAPP,作为一个跨端开发框架,为开发者提供了便捷的方式来实现移动端的文件上传功能。...

    nginx上传文件大小报错500的解决办法

    nginx上传文件大小报错500的解决办法 采用nginx作反向代理,出现了一个诡异的问题,小文件可以提交,大文件会报500内部错误。这个是什么原因导致的呢?  查wiki可知,上传文件大小相关的有三个配置 client_body_...

    php大文件上传,百兆文件上传,有进度条,有上传速度

    2,在你的服务器上随便一个地方(最好就放到你的站点里面吧) 新建个文件夹叫tmp 在tmp文件夹下面新建个txt文件 名为 upd_%s.txt 注:请确保该目录和该txt文件 php 程序必须可读可写 3,打开你的php.ini (php 配置文件,...

    ExtJS验证上传文件类型

    ExtJS 验证上传文件类型 ExtJS 中实现文件上传功能是非常方便的,但对于新手来说,控制文件上传类型是一个难题。例如,我们只想让用户上传特定的文件类型,例如txt文件,那么如何实现当用户上传非txt文件时,给出...

    delphi上传文件到php网站

    2. **移动上传文件:** 使用`move_uploaded_file()`函数将临时文件移动到服务器上的目标位置。确保指定的目录有写入权限。 3. **处理文件:** 文件上传成功后,你可以根据业务需求对文件进行进一步处理,如保存...

    jsp自行增加上传文件的批量文件上传

    本想做个批量文件上传的功能(设想是客户选择一个目录后,程序能判断需要上传的文件上传到服务器指定目录下),结果没有做出来,在网上找了许多版本的批量上传程序,但实验效果不好,有的还需要下载分,上传文件也不能...

Global site tag (gtag.js) - Google Analytics