MultipartFile批量上传到ftp
时间: 2023-11-15 15:57:15 浏览: 72
批量FTP上传
可以使用Apache Commons Net库中的FTPClient类来实现MultipartFile批量上传到FTP服务器。具体步骤如下:
1. 引入Apache Commons Net库的依赖。
2. 创建FTPClient对象,并连接到FTP服务器。
3. 设置FTPClient对象的工作目录。
4. 遍历MultipartFile列表,依次上传文件到FTP服务器。
5. 关闭FTP连接。
以下是示例代码:
```
import org.apache.commons.net.ftp.FTP;
import org.apache.commons.net.ftp.FTPClient;
import org.springframework.web.multipart.MultipartFile;
import java.io.IOException;
import java.io.InputStream;
public class FtpUtil {
private static final String FTP_HOST = "ftp.example.com";
private static final int FTP_PORT = 21;
private static final String FTP_USERNAME = "username";
private static final String FTP_PASSWORD = "password";
private static final String FTP_WORKING_DIR = "/upload";
public static void uploadFilesToFTP(MultipartFile[] files) throws IOException {
FTPClient ftpClient = new FTPClient();
try {
ftpClient.connect(FTP_HOST, FTP_PORT);
ftpClient.login(FTP_USERNAME, FTP_PASSWORD);
ftpClient.enterLocalPassiveMode();
ftpClient.setFileType(FTP.BINARY_FILE_TYPE);
ftpClient.changeWorkingDirectory(FTP_WORKING_DIR);
for (MultipartFile file : files) {
String fileName = file.getOriginalFilename();
InputStream inputStream = file.getInputStream();
ftpClient.storeFile(fileName, inputStream);
inputStream.close();
}
} finally {
ftpClient.logout();
ftpClient.disconnect();
}
}
}
```
阅读全文