当前位置: 首页 > 知识库问答 >
问题:

如何在SpringBoot中将一个大文件上传到ftps服务器?

杨利
2023-03-14

我想将文件上载到ftps服务器。下面的代码适用于10KB这样的小文件。但我需要上传5-10 MB的文件。错误出现在下面的错误行中。有人能帮我吗?下面是我尝试的代码。有没有更好的方法?

错误行

boolean result = con.storeFile(FILE_NAME, multipartFile.getInputStream());

代码

public void createDeviceVersion(MultipartFile multipartFile) {

 String FTP_ADDRESS = backendConfigRepo.findByConfigKey(KeyConstant.FTP_ADDRESS).getConfigValue();
 int FTP_PORT = Integer.parseInt(backendConfigRepo.findByConfigKey(KeyConstant.FTP_PORT).getConfigValue());
 String USER = backendConfigRepo.findByConfigKey(KeyConstant.FTP_USER).getConfigValue();
 String PASSWORD = backendConfigRepo.findByConfigKey(KeyConstant.FTP_PASSWORD).getConfigValue();
 String FILE_NAME = backendConfigRepo.findByConfigKey(KeyConstant.MCASH_VERSION_FILE_NAME).getConfigValue();
 FTPSClient con = null;

 try {
  con = new FTPSClient(true);
  con.connect(FTP_ADDRESS, FTP_PORT);

  if (con.login(USER, PASSWORD)) {
   con.enterLocalPassiveMode();
   con.setFileType(FTP.BINARY_FILE_TYPE);
   boolean result = con.storeFile(FILE_NAME, multipartFile.getInputStream());
   System.out.println(result);
   con.logout();
   con.disconnect();

  }

 } catch (Exception e) {
  e.printStackTrace();
 }

}

错误消息

org.apache.commons.net.io.CopyStreamException: IOException在复制时捕获。在org.apache.commons.net.io.Util.copyStream(Util.java:136)org.apache.commons.net.ftp.FTPClient。_storeFile(FTPClient.java:675)org.apache.commons.net.ftp.FTPClient。__storeFile(FTPClient.java:639)org.apache.commons.net.ftp.FTPClient.store文件(FTPClient.java:2160)......引起:java.net.SocketException:连接被对等点重置:套接字写入错误

共有1个答案

陈瀚玥
2023-03-14

您是否尝试过在webapps/manager/WEB-INF/WEB中更改最大大小。xml?我认为这可能会帮助您最大限度地限制多部分文件

 类似资料:
  • 问题内容: 我创建了一个从有权访问的FTP服务器下载文件的功能。如何将文件上传回FTP服务器? 以下是我使用的download_files方法: 问题答案: 使用Apache Commons Net库中的FTPClient类。 这是一个带有示例的代码段: 摘录自http://www.kodejava.org/examples/356.html

  • 本文向大家介绍用php将文件上传到另一个php服务器,包括了用php将文件上传到另一个php服务器的使用技巧和注意事项,需要的朋友参考一下 fopen,fread和fwrite函数可用于打开文件流,读取数据流并将该数据分别写入文件。 文件资源不一定需要指向本地计算机本身上的某个位置。 以下是将文件从本地服务器传输到ftp服务器的示例- 该图像需要传输到FTP服务器。因此,服务器以写模式打开,并且图

  • 我想将多部分文件从一个服务传递到另一个服务。 客户- 当我将文件从Service1传递到Service2时,显示了一个错误“500内部服务器错误,当前请求不是多部分请求” 客户- 我想知道可能是什么原因,我想我错过了一些头部分时传递的多部分文件作为参数。 服务2 服务2客户端 服务1

  • 我正在我的android应用程序中使用Apache Commons FTP库 我正在通过FTPS进行连接,虽然它完美地连接到服务器,但我在传输文件时遇到了问题。 由于安全原因,订购应用程序的客户端请求在使用PROT P时请求数据连接上的TLS会话恢复。

  • 我正在从特定文件夹获取音频文件,并将其绑定到RecyclerView上。现在我想要每个文件的Uri,这样我就可以逐个上传它们。我正在使用光标获取文件。下面是我的代码: 在contentUri中,我得到了以下内容(内容://media/external/audio/media/0)。我想要的是内容://com.android.providers.media.documents/document/xy

  • 问题内容: 以下是我用于将文件上传到服务器的代码。但是,即使经过几次尝试,甚至添加了严格模式,我都遇到了网络异常。 我是Android的新手,不知道如何使用异步任务,许多人建议您使用这种异步网络操作。谁能告诉我代码中哪里有错误以及应该在哪里使用异步任务? 问题答案: 有关更多信息,请参考此链接 http://vikaskanani.wordpress.com/2011/01/29/android-