首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Java FTP 550错误

Java FTP 550错误
EN

Stack Overflow用户
提问于 2013-10-27 02:38:55
回答 2查看 4K关注 0票数 0

我得到了这个错误(550文件名、目录名或卷标签语法不正确)。)我认为网址是正确的(显然不是这样)。有什么想法吗?

这是网址:

代码语言:javascript
复制
STOR /images/report/6F81CB22-3D04-4BA3-AC3F-3D34663449E0**9.png

下面是调用方法:

代码语言:javascript
复制
private void uploadImageToFtp(String location, String imageName) throws Exception{

        File imageFile = new File(location);

        System.out.println("Start");
        FTPUploader ftpUploader = new FTPUploader("ftp.xxx.com", "user", "password");

        ftpUploader.uploadFile(imageFile, imageName, "/images/report/");

        imageFile.delete();
        ftpUploader.disconnect();
        System.out.println("Done");
    }
Here is the

ftp类:

代码语言:javascript
复制
package server;

import java.io.File;
import java.io.FileInputStream;
import java.io.IOException;
import java.io.InputStream;
import java.io.PrintWriter;

import org.apache.commons.net.PrintCommandListener;
import org.apache.commons.net.ftp.FTP;
import org.apache.commons.net.ftp.FTPClient;
import org.apache.commons.net.ftp.FTPReply;

public class FTPUploader {

    FTPClient ftp = null;

    public FTPUploader(String host, String user, String pwd) throws Exception{


        ftp = new FTPClient();
        ftp.addProtocolCommandListener(new PrintCommandListener(new PrintWriter(System.out)));
        int reply;
        ftp.connect(host);
        reply = ftp.getReplyCode();
        if (!FTPReply.isPositiveCompletion(reply)) {
            ftp.disconnect();
            throw new Exception("Exception in connecting to FTP Server");
        }
        ftp.login(user, pwd);
        ftp.setFileType(FTP.BINARY_FILE_TYPE);
        ftp.enterLocalPassiveMode();
    }
    public void uploadFile(File file, String fileName, String hostDir)
            throws Exception {

        try {
            InputStream input = new FileInputStream(file);
            this.ftp.storeFile(hostDir + fileName, input);

        } catch (Exception e) {

            // TODO: handle exception
            e.printStackTrace();
        }

    }

    public void disconnect(){
        if (this.ftp.isConnected()) {
            try {
                this.ftp.logout();
                this.ftp.disconnect();
            } catch (IOException f) {
                // do nothing as file is already saved to server
                f.printStackTrace();
            }
        }
    }
}
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2013-10-27 14:36:40

如果FTP服务器正在运行Windows,那么“*”字符就是问题所在。Windows文件名为可能没有星号

票数 1
EN

Stack Overflow用户

发布于 2021-06-26 16:48:00

在上传ftp.changeWorkingDirectory(DESTPATH)之前,先尝试改变工作目录;

对我起作用了。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/19614060

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档