2011-05-19 27 views
7

Java projemde Apache'nin FTPClient ve FTPServer kitaplıklarını kullanıyorum. Sunucu ve istemci aynı makinede.FTP dosya yükleme hatası Java

FTPServer'ımın yerel bir sunucu olması gerekiyor, İnternet ile ilgili hiçbir şey yok. FTPServer'a istemciden bağlanabilirim (230 cevap kodunu alırım) ama hiçbir şey yapamayacağım. Herhangi bir dosyayı depolayamıyorum veya alamıyorum.

Bu konuyla ilgili hemen hemen her soruyu okurum ama başka sorular soran kişiler basit dosyalar gönderebilmiş ve pdf gibi dosyalar gönderirken sorun yaşayabiliyordu. Sadece metin dosyaları göndermem ya da almam gerekiyor.

herhangi bir öneriniz?

 FTPClient client = new FTPClient(); 
     String host = "mypc"; 
     String Name = "user"; 
     String Pass = "12345"; 

     client.connect(host); 
     client.login(Name,Pass); 
     System.out.println("Reply Code: " +client.getReplyCode()); 


    File file = new File("C:\\.....myfile..txt"); 

     FileInputStream in = new FileInputStream("C:\\.....myfile..txt"); 
     boolean isStored = client.storeFile("uploadedfile.txt", in); 
     in.close(); 
     client.logout(); 
     System.out.println("isStored: " +isStored); 

Gerçek yol adlarını koymadım. Yanlış, geri kalan istisnalar vb. Döndürür. Bunun nedeni, aynı makinede olmaları olabilir.

Düzenleme: ftpserver'a dosya göndermek için yazma iznine ihtiyacım vardı. Varsayılan olarak, kullanıcılara yazma izni vermez. Kullanıcılara Apache'nin ftpserver kütüphanesini kullanarak nasıl izin verebilirim?

+0

neden yapamazsınız? istisnalar, hiçbir şey olmuyor? Kodun nedir? – Bozho

+3

Sadece sahip olma izniniz yok. Bize daha fazla bilgi verin, merak ediyoruz :) –

+0

İstemci kodundan bir şey almıyorsanız, neden sunucuda oturum açıp ne günlüğe kaydedildiğini görmüyorsunuz? – Jasoon

cevap

5

Sorun Çözüldü: Bu, bir kullanıcı yazma izni nasıl verilir. Bu snippet'i sunucu tarafına ekledim ve işe yaradı.

List<Authority> auths = new ArrayList<Authority>(); 

Authority auth = new WritePermission(); 

auths.add(auth); 

user.setAuthorities(auths); 

bu sembol yazılı dönem Authority var ->< > ilk satırdaki List ve ArrayList sonra. Site, <> sembolündeki kelimeleri görmüyor.

İlgili konular