2013-10-27 6 views
0

Я получаю эту ошибку (550 имя файла, имя каталога или синтаксис метки тома неверны.) Я думаю, что URL-адрес правильный (очевидно, не так). Есть предположения?Ошибка Java FTP 550

Вот URL:

STOR /images/report/6F81CB22-3D04-4BA3-AC3F-3D34663449E0**9.png 

Вот вызов метода:

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 класс:

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(); 
      } 
     } 
    } 
} 
+0

Является ли FTP-сервером Windows? Имена файлов Windows [могут не иметь звездочек] (http://msdn.microsoft.com/en-us/library/windows/desktop/aa365247%28v=vs.85%29.aspx#naming_conventions). – VGR

+0

это было ... спасибо –

+0

вы должны сделать ответ –

ответ

1

Если FTP-сервер работает под управлением ОС Windows, тем «* 'являются проблемой. Имена файлов Windows may not have asterisks.

Смежные вопросы