上传文件到服务器上的方法:
1:使用commons-fileupload代码如下:
boolean isMultipart = ServletFileUpload.isMultipartContent(request);
if (isMultipart) {
DiskFileItemFactory factory = new DiskFileItemFactory();
factory.setSizeThreshold(10*1024); // 设置上传缓冲大小(10K)
factory.setRepository(uploadTempDir); // 设置上传临时存放文件夹(文件尺寸大于上传缓存容量)
ServletFileUpload upload = new ServletFileUpload(factory);
upload.setFileSizeMax(20*1024*1024); // 设置上传文件允许的最大尺寸(20M)
List items = null;
// 解析上传请求并判断是否超出允许上传的最大尺寸
try {
items = upload.parseRequest(request);
} catch (FileSizeLimitExceededException e) { // 如果超出允许上传的最大尺寸
e.printStackTrace();
logger.error(ExceptionUtil.getStackTraceMessage(e));
uploadResult.put("success", new Boolean(false));
uploadResult.put("errorMessage", "文件大小超过20MB");
return uploadResult;
}
Iterator iter = items.iterator();
while (iter.hasNext()) {
FileItem item = (FileItem) iter.next();
if (!item.isFormField()) {
originalFileName = item.getName();
// 如果文件域为空或者文件大小为零则进入下次循环
if (StringUtils.isBlank(originalFileName) || item.getSize() == 0) {
continue;
}
// 获取原始文件名称
originalFileName = StringUtils.trimToEmpty(StringUtils.substring(originalFileName, StringUtils.lastIndexOf(originalFileName, "\\") + 1));
// 获取原始文件后缀
fileExt = StringUtils.lowerCase(StringUtils.trimToEmpty(StringUtils.substring(originalFileName, StringUtils.lastIndexOf(originalFileName, "."))));
// 生成文件在服务器上实际存储名称
realFileNameAtServer = DateUtil.getDate("yyyyMMddHHmmssSSS") + fileExt;
// 生成文件在服务器上实际存储位置
realFilePath = StringUtils.trimToEmpty(realFilePath) + "/" + realFileNameAtServer;
// 读取上传文件并保存在服务器指定目录中
int readbyte = -1; // 每次实际读入的字节数
byte[] buff = new byte[1024]; // 存储每次读取的数据
BufferedInputStream bis = null; // 缓存输入流
BufferedOutputStream bos = null; // 缓存输出流
try {
bis = new BufferedInputStream(item.getInputStream(), buff.length);
bos = new BufferedOutputStream(new FileOutputStream(new File(realFilePath)));
while((readbyte = bis.read(buff, 0, buff.length)) > -1) {
bos.write(buff, 0, readbyte);
}
bos.flush();
} catch(IOException ioe) {
ioe.printStackTrace();
logger.error(ExceptionUtil.getStackTraceMessage(ioe));
uploadResult.put("success", new Boolean(false));
uploadResult.put("errorMessage", "上传文件失败");
return uploadResult;
} catch(Exception e) {
e.printStackTrace();
logger.error(ExceptionUtil.getStackTraceMessage(e));
uploadResult.put("success", new Boolean(false));
uploadResult.put("errorMessage", "上传文件失败");
return uploadResult;
} finally {
try {
// 关闭输出流
if(bos != null) {
bos.close();
}
// 关闭输入流
if(bis != null) {
bis.close();
}
} catch(IOException ioe) {
ioe.printStackTrace();
logger.error(ExceptionUtil.getStackTraceMessage(ioe));
}
}
}
}
}
分享到:
相关推荐
在VB(Visual Basic)编程中,上传本地文件到服务器是一个常见的任务,特别是在开发Web应用程序时。这个过程涉及客户端(用户计算机)与服务器之间的数据交互,通常通过HTTP协议完成。以下是对这一主题的详细阐述: ...
本篇内容介绍如何使用WinForm实现文件的上传功能,即将本地文件传输至远程服务器。该功能主要通过`System.Net`命名空间中的`WebClient`类实现。 #### 关键技术与代码解析 1. **WebClient 类** `WebClient` 类是...
2、检查服务器上是否存在,不存在直接上传,存在的话,文件夹无视,文件比较大小,大小不一致则覆盖,最后检查服务器上是否存在本地没有的文件,存在则删除 3、之后增加了忽略列表,忽略文件类型 4、然后增加了重启...
接着,打开一个`Sftp`会话,使用`put()`方法将本地文件上传到服务器。 ```java Sftp sftp = session.openSftp(); sftp.put(本地文件路径, 远程目标路径); sftp.close(); ``` **操作Linux服务器上的文件** ganymed...
在Node.js环境中,将本地文件上传到服务器是一个常见的任务,主要应用于文件共享、数据备份、内容发布等场景。本文将详细讲解如何使用Node.js实现这一功能。 首先,我们需要理解Node.js的基本概念。Node.js是一个...
@ApiOperation(value = "本地文件上传",notes ="本地文件上传" ) public Map uploadfunction(HttpServletRequest request, HttpServletResponse response){ //创建文件对象并获取请求中的文件对象 MultipartFile ...
本篇文章将详细探讨如何使用Java实现本地文件监听,并自动将其上传至服务器,以实现文件同步功能。 首先,让我们从“JAVA 监听文件夹变化”这个知识点开始。Java提供了一种称为`WatchService`的机制,它允许程序...
在IT行业中,文件传输是日常...总之,上传本地文件夹的文件到FTP服务器指定目录是一个涉及FTP协议、C#编程和文件系统操作的综合任务。通过理解这些知识点,结合实际项目需求,可以创建一个高效且安全的文件上传工具。
使用JavaScript实现文件上传到本地服务器并获取到上传后文件所在路径,是由到JavaScript,java以及html页面。这个比较好,不是在jsp上获取路径,jsp太简单了,而且过时了,所以就在html页面实现了下功能,我主要是做...
本教程将深入探讨如何使用WinForm实现文件或文件夹的上传功能,将其发送到远程服务器。我们将关注的重点是如何构建这样的系统,包括客户端的交互设计以及与服务器的通信。 首先,我们需要在WinForm中创建一个用户...
【标题】"SFTP定时扫描本地文件上传到Linux服务器"涉及的关键知识点主要集中在SFTP(Secure File Transfer Protocol)协议的使用、文件系统的监控以及自动化任务的执行。SFTP是一种安全的网络协议,用于在不同主机...
- **上传文件**:Finalshell支持用户直接从本地文件系统选择文件或文件夹,通过SSH协议安全地上传到远程服务器。这在需要更新网站文件、部署应用或传输大数据时特别有用。 - **下载文件**:同样,用户可以方便地从...
### Java 实现上传文件到远程服务器(Spring MVC) 在现代软件开发中,文件上传功能是十分常见的需求之一,尤其在Web应用中。本篇文章将详细介绍如何利用Java编程语言结合Spring MVC框架来实现文件的远程上传功能。...
### pb上传文件到服务器硬盘上的方法与技巧 在IT领域中,通过编程工具实现文件的远程上传是一项常见的需求。本文将详细介绍如何利用PowerBuilder(简称PB)这一开发工具,实现文件从本地上传到服务器硬盘的过程,并...
本主题将深入探讨如何使用C#通过Web Service上传视频文件到服务器虚拟机下的源码实践。 首先,`WebService`是基于HTTP协议的远程调用技术,允许不同的应用程序之间进行数据交换。在C#中,我们通常使用ASP.NET来创建...
实现:将android文件通过服务端上传至服务器; 获取android本地文件,通过调用服务端后台代码进行文件上传。 只需要分别调用移动端uploadMultiFile()方法和服务端upload()方法。
bat脚本实现将Windows文件上传至Linux服务器 不同选项实现具体功能、检查资源存在 、 确认上传
上传的文件需要在服务器上存储,这涉及到文件存储策略的选择。你可以选择直接存储在服务器的文件系统中,或者使用数据库(BLOB类型字段),甚至是云存储服务如Amazon S3或Google Cloud Storage。每种策略都有其优...
本项目"java 文件上传服务器,前后台代码"提供了一个完整的解决方案,涵盖了从客户端到服务器的数据传输过程。我们将深入探讨相关的知识点。 首先,我们需要了解Java中的MVC(Model-View-Controller)架构,这是Web...
在IT领域中,文件上传是一项非常常见的操作,它涉及到将本地计算机上的文件传输到远程服务器上。这一过程广泛应用于各种场景,比如网站开发、软件部署、数据备份等。理解如何有效地上传文件对于IT专业人士来说至关...