1.html页面
<form id="importWorkerForm" class="importWorkerForm" action="worker/importworker" method="post" enctype="multipart/form-data" target="importWorkerIframe" onsubmit="return importWorkerFile.submit()"> <input type="file" id="uploadWorkerFile" name="file" style="width: 400px" /> <input type="hidden" name="companyId" id="currentCompanyId" /> <input type="submit" value="上传" /> </form>
2.后台部分
/** * 导入文件 * @param request * @param response * @return */ public Map<String, String> importfile(HttpServletRequest request, HttpServletResponse response) { // 获取并解析文件类型和支持最大值 String fileType = "xls"; String maxSize = 2 + ""; String url = request.getServletContext().getRealPath("/"); // 上传目录名 String tempPath = url + "upload" + File.separator + "temp" + File.separator; DiskFileItemFactory factory = new DiskFileItemFactory(); // 最大缓存 factory.setSizeThreshold(5 * 1024); // 设置临时文件目录 factory.setRepository(new File(tempPath)); ServletFileUpload upload = new ServletFileUpload(factory); Map<String,String> result=new HashMap<String,String>(); if (maxSize != null && !"".equals(maxSize.trim())) { // 文件最大上限 upload.setSizeMax(Integer.valueOf(maxSize) * 1024 * 1024); } try { // 获取所有文件列表 List<FileItem> items = upload.parseRequest(request); for (FileItem item : items) { // 如果是文件项,则保存文件到上传目录 if (!item.isFormField()) { // 文件名 String fileName = item.getName(); // 检查文件后缀格式 String fileEnd = fileName.substring(fileName.lastIndexOf(".") + 1).toLowerCase(); if (fileType != null && !"".equals(fileType.trim())) { boolean isRealType = false; String[] arrType = fileType.split(","); for (String str : arrType) { if (fileEnd.equals(str.toLowerCase())) { isRealType = true; break; } } if (!isRealType) { // 提示错误信息:文件格式不正确 logger.error("loadUpWorkerFileTypeError"); return null; } } // 创建文件唯一名称 String uuid = UUID.randomUUID().toString(); // 真实上传路径 StringBuffer sbRealPath = new StringBuffer(); sbRealPath.append(tempPath).append(uuid).append(".").append(fileEnd); // 写入文件 File file = new File(sbRealPath.toString()); item.write(file); logger.info("上传文件成功,filePath:" + file.getPath()); //返回文件路径 result.put("filePath", file.getPath()); //获取form中参数信息 }else{ // item.getFieldName():获取参数key。item.getString():获取参数value result.put("companyId", item.getString()); } } } catch (Exception e) { // 提示错误信息 result.put("fileError", "上传失败,文件大小不能超过"+maxSize+"M!"); logger.error("uplaodWorkerFileError"); return result; } return result; }
相关推荐
标题提到的“上传文件fileupload+解决enctype= multipart/form-data无法传递其他参数”是一个常见的技术挑战,特别是当使用HTML表单进行文件上传时。`multipart/form-data`是用于处理包含二进制数据(如文件)的表单...
### 解决Java enctype "multipart/form-data" 文件上传...综上所述,理解并掌握`multipart/form-data`的工作原理及其在Java Web应用中的实现细节是非常重要的。这有助于开发者更高效地解决实际项目中的文件上传问题。
在Java开发中,文件批量上传是一项常见的功能,尤其在企业级应用中,用户可能需要上传大量数据或文件。本教程将介绍如何利用SWF(Simple Workflow)和EXT库来实现这一功能。SWF是一个用于创建富互联网应用程序的前端...
在Java编程中,上传文件到...以上是关于“java上传文件到服务器”的主要知识点,涵盖了从HTTP协议到具体Java实现的各种细节。在实际开发中,可以根据项目需求选择合适的方法和技术,确保文件上传功能的稳定性和安全性。
通过这个接口,我们可以读取上传文件的内容、获取文件名、大小等信息,并将其保存到服务器。 在实际应用中,我们通常会创建一个表单来让用户选择要上传的文件。表单需要设置`enctype="multipart/form-data"`属性,...
### Java实现多文件异步上传知识点详解 在现代Web应用开发中,文件上传是一个非常常见的需求,尤其是在涉及图片、文档等多媒体数据的应用场景下。为了提高用户体验,异步上传技术得到了广泛的应用。本文将深入探讨...
在Java编程中,文件上传是一项常见的任务,尤其是在Web应用程序中,用户可能需要上传图片、文档等数据。这个“java文件上传代码upload”项目显然关注如何在Java环境下处理文件上传操作。下面将详细介绍Java中实现...
在Java编程中,文件上传和下载是Web应用中常见的功能,尤其对于初学者来说,理解并实现这些功能是学习过程中的重要环节。本教程将详细讲解如何在Java中实现文件的上传与下载。 首先,我们要了解文件上传的基本原理...
在Java编程中,文件上传是一项常见的任务,尤其在构建Web应用程序时。文件上传允许用户将本地文件传输到服务器,这在各种场景下都非常有用,比如社交媒体的图片分享、在线文档编辑或云存储服务。本教程将详细介绍...
"不用form提交表单,用ajax上传文件"是这种需求的一个典型场景。这种方式可以让用户在上传文件时无需等待页面刷新,而是通过Ajax(Asynchronous JavaScript and XML)技术实现实时反馈,提升交互体验。 在JDK 8版本...
本实例主要探讨如何在Struts1中实现多文件上传功能,并结合Form中传递List类型的数据,这对于理解MVC模式下的文件处理和数据传递有重要作用。我们将深入讨论以下几个关键知识点: 1. **Struts1框架基础**: Struts...
这个表单使用`POST`方法,并且使用了`multipart/form-data`作为其`enctype`属性值,这表明该表单可以用来上传文件。 #### 标签解析 - **multipart/form-data**:如上所述,这是一种特定的表单数据编码类型,用于...
- 防止文件大小溢出:限制上传文件的最大大小以防止服务器被大量数据淹没。 - 文件名安全:避免使用用户提供的文件名,以防文件覆盖或注入攻击。 - 文件类型检查:验证上传的文件类型以确保安全,例如只接受某些...
本篇文章将深入探讨如何使用Java实现文件上传功能,并将上传的文件保存到指定的文件夹。 首先,我们需要理解HTTP协议中的多部分/form-data编码,这是文件上传的标准格式。在Java中,我们可以使用Servlet API来处理...
### Java 文件上传与下载知识点详解 #### 一、概述 在现代Web开发中,文件的上传与下载是一项基本且常用的...同时,为了提高用户体验和系统的安全性,还需要考虑诸如文件类型验证、上传文件大小限制等功能的实现。
二、JAVA通过HttpURLConnection上传文件的方法 下面是一个使用HttpURLConnection上传文件的示例代码: ```java public class HttpConnectionUtil { public static String uploadFile(String actionUrl, String[] ...
本项目提供的“修改好的移动端android和服务端java上传文件程序”就是一个完整的解决方案,包含了客户端Android应用和基于Servlet 3.0的服务端Java代码。下面我们将详细探讨这个程序的关键知识点。 首先,Android端...
Flex 文件上传技术是一种在Web应用中实现用户向服务器端上传文件的方法,通常涉及到前端的Flex技术与后端的Java服务进行交互。Flex是一款强大的富互联网应用程序(RIA)开发框架,由Adobe公司提供,用于创建动态、...