java文件夹上传

最近公司做工程项目,实现文件夹上传。

网上找了一天,发现网上很多代码都存在相似问题,最后终于找到了一个符合要求的项目。

工程如下:

 

这里对项目的文件夹传输功能做出分析,怎么实现文件夹上传的,如何进行文件夹上传的。

运行:

 

文件夹所在位置:C:\Users\liu\Desktop\HttpDebuggerPro-v10

 

上传后自动存储在tomcat服务存储目录中,文件夹目录:D:\apache-tomcat-7.0.93\webapps\up6\upload\2019\04\19\00e3265a0f3c4d6bb32f78314def9704

 

 

事实证明文件夹上传功能符合预期,还要看看数据库的数据是否一样:

 

数据表数据证明了项目确实符合我的意料,能够跟工程结合在一起完美运行。项目前景十分广阔。

DEMO下载地址:http://suo.im/5qKp7o

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
为避免重复创建文件夹数据,我们可以在数据库中为每个文件夹设置一个唯一的标识符。可以使用文件夹的名称或者路径来生成这个标识符。 在上传文件夹时,我们需要首先查询数据库中是否已经存在这个文件夹的记录。如果存在,就不需要创建新的记录了;如果不存在,我们就需要创建新的记录,并将文件夹的标识符保存到数据库中。 以下是一个示例代码,实现了文件夹上传时保存记录到数据库的功能(假设我们使用MySQL数据库): ```java import java.sql.*; import java.util.UUID; public class FolderUploader { public static void uploadFolder(String folderPath) { // 首先查询数据库中是否已经存在这个文件夹的记录 String folderId = queryFolderId(folderPath); if (folderId != null) { System.out.println("Folder already exists in database: " + folderPath); return; } // 如果不存在,就创建新的记录并保存到数据库中 folderId = UUID.randomUUID().toString(); // 使用UUID作为文件夹的唯一标识符 String folderName = folderPath.substring(folderPath.lastIndexOf('/') + 1); String insertSql = "INSERT INTO folders (id, name, path) VALUES (?, ?, ?)"; try (Connection conn = DriverManager.getConnection("jdbc:mysql://localhost:3306/mydb", "root", "password"); PreparedStatement ps = conn.prepareStatement(insertSql)) { ps.setString(1, folderId); ps.setString(2, folderName); ps.setString(3, folderPath); ps.executeUpdate(); System.out.println("Folder uploaded successfully: " + folderPath); } catch (SQLException e) { e.printStackTrace(); System.out.println("Failed to upload folder: " + folderPath); } } private static String queryFolderId(String folderPath) { String selectSql = "SELECT id FROM folders WHERE path = ?"; try (Connection conn = DriverManager.getConnection("jdbc:mysql://localhost:3306/mydb", "root", "password"); PreparedStatement ps = conn.prepareStatement(selectSql)) { ps.setString(1, folderPath); ResultSet rs = ps.executeQuery(); if (rs.next()) { return rs.getString("id"); } } catch (SQLException e) { e.printStackTrace(); } return null; } public static void main(String[] args) { // 在这里调用 uploadFolder 方法上传文件夹 } } ``` 请注意,这只是一个示例代码,实际情况下还需要考虑更多的细节和异常情况。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值