gpt4 book ai didi

来自另一个类的 Java Spring Boot FTPClient 连接方法不起作用

转载 作者:行者123 更新时间:2023-12-01 17:16:40 26 4
gpt4 key购买 nike

我正在尝试创建一个额外的类来处理用户的连接和状态,但我仍然收到一些我不明白的奇怪错误。

这是我的“FTPConnection 类”我使用 DI 创建了私有(private) ftpClient (我在主类中有 @Bean 注释),并且我尝试使用另一个类中的此方法连接到服务器

@Autowired
private FTPClient ftpClient;

public void connect() {
try {
ftpClient.connect("host");
ftpClient.login("username", "password");

int reply = ftpClient.getReplyCode();

if (!FTPReply.isPositiveCompletion(reply)) {
ftpClient.disconnect();
System.err.println("FTP server refused connection.");
System.exit(1);
}

}
catch (IOException ex) {
System.out.println(ex.getMessage());
}
}

这是具有 RequestMapping 方法的类

@PostMapping("/uploadFile")
public void uploadFile(@RequestParam("file") MultipartFile file) {

var connection = new FTPConnection();

try {

connection.connect();
System.out.println(connection.isConnected());
FTPClient ftpClient = connection.getFtpClient();

ftpClient.changeWorkingDirectory("/usb");
ftpClient.setFileType(FTP.BINARY_FILE_TYPE);

[...]

我得到的错误是

Servlet.service() for servlet [dispatcherServlet] in context with path [] threw exception [Request processing failed; nested exception is java.lang.NullPointerException] with root java.lang.NullPointerException: null at com.tenpetr.FTPFileUploader.FTPConnection.connect(FTPConnection.java:16) ~[main/:na] at com.tenpetr.FTPFileUploader.FileTransfer.uploadFile(FileTransfer.java:29) ~[main/:na] at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[na:na] at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) ...

你知道我为什么被困在这里吗?感谢您的建议。

最佳答案

我的猜测是(将在获得更多数据后更新)FtpClient 未正确初始化,因此 FtpConnection 也未正确初始化。

待更新

关于来自另一个类的 Java Spring Boot FTPClient 连接方法不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61373590/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com