Arama butonu
Bu konudaki kullanıcılar: 1 misafir
8
Cevap
674
Tıklama
0
Öne Çıkarma
C# Dosya Upload
P
7 yıl
Çavuş
Konu Sahibi

Arkadaşlar merhaba bir proje üzerinde çalışyorum projemin bir yerinde sunucuya dosya atma işlemi gerekti internetten gerekli c# kodlarını buldum çalıştı hatta hata vermedi ancak işlem başarılı demesine rağmen sunucuya baktığımda dosyayı göremiyorum kodlar resimde gördüğünüz gibidir bir fikri olan var mı?

< Resime gitmek için tıklayın >

DH forumlarında vakit geçirmekten keyif alıyor gibisin ancak giriş yapmadığını görüyoruz.

Üye olduğunda özel mesaj gönderebilir, beğendiğin konuları favorilerine ekleyip takibe alabilir ve daha önce gezdiğin konulara hızlıca erişebilirsin.

Üye Ol Şimdi Değil





< Bu mesaj bu kişi tarafından değiştirildi programci42 -- 29 Ocak 2018; 17:10:30 >


Bu mesajda bahsedilenler: @programci42
G
7 yıl
Yarbay

T
7 yıl
Yarbay

Linkteki kodu FTP sunucuma karşı denedim ancak



quote:

Upload File Complete, status 221-Goodbye. You uploaded 0 and downloaded 0 kbytes.

221 Logout.




dedi ve dosyayı yüklemedi.



FtpWebRequest request = (FtpWebRequest)WebRequest.Create("ftp://my-ftp.com/Users/muzaffer/text.txt");





kısmında alt klasörü deneme amaçlı deiştirince örneğin muzafferi muzaKKer yapınca muzaKKer yolu bulunamadı hatası verio, yani doğru yola kadar gidiyor ancak text.txt dosyasını upload edemiyor. Sebebi ne olabilir?



< Bu ileti mini sürüm kullanılarak atıldı >
Bu mesaja 1 cevap geldi.

Bu mesajda bahsedilenler: @Gökşen PASLI
G
7 yıl
Yarbay

kodu test etmedim ama güvenlik duvarı vb programlardan olabilir varsa kapatıp bakarsınız


Bu mesaja 1 cevap geldi.

Bu mesajda bahsedilenler: @revivo72
T
7 yıl
Yarbay

Güvenlik duvarı ile ilg değil, cunku kullanıcı adı şifreyi bozdum, giriş yapamadı, düzelttim giriş yaptı. Yani firewall geçiş izni verio, FTP sunucumdaki tüm klasörlere erişebiliyor C# uygulaması, sadece dosyayı koyamıyor :|https://www.codeproject.com/Tips/443588/Simple-Csharp-FTP-Class 'daki kodu denedim (sadeleştirerek, sadece upload kısmını kullandım) onda FTP kök dizinine test.txt dosyasını koymayı başardım fakat kök dizin alt klasörlerine koymayı başaramadı.



< Bu ileti mini sürüm kullanılarak atıldı >
Bu mesaja 1 cevap geldi.

Bu mesajda bahsedilenler: @Gökşen PASLI
G
7 yıl
Yarbay

https://stackoverflow.com/questions/35921205/does-an-ftpclient-need-specific-permissions-to-create-folders-in-the-ftp-server

yetki sorunu olabilir mi burda klasör oluşturmada yetkilerin olmasından bahsetmiş ve haberleşmenin pasif olması gerekli yazmış


Bu mesaja 1 cevap geldi.

Bu mesajda bahsedilenler: @revivo72
T
7 yıl
Yarbay

sorunun kaynağı klasör yetkileri de olamaz cunku aynı FTP sunucuya 19 satırlık bir Perl kodu ile daha ilk çalıştırmada dosya koydum.

< Resime gitmek için tıklayın >



< Bu ileti mini sürüm kullanılarak atıldı >


Bu mesajda bahsedilenler: @Gökşen PASLI
G
7 yıl
Yarbay

bende test ortamı yok ama cep telefonundaki dosya yöneticisinde ftp sunucusunu açıp oraya bağlanmayı denedim orda klasör oluşturmaya baktım aşağıdaki kodla klasör oluşturdum dosya atmaya da bakarım

 
using System;
using System.Net;
using System.Windows.Forms;
using System.Net.Security;
namespace xzxz
{

public partial class MainForm : Form
{
public static bool AcceptAllCertifications(object sender, System.Security.Cryptography.X509Certificates.X509Certificate certification, System.Security.Cryptography.X509Certificates.X509Chain chain, SslPolicyErrors sslPolicyErrors)
{
return true;
}
public static string MakeDirectory()
{
try
{
Uri ftpUri = new Uri(@"ftp://192.168.1.62:2121/TestFolder/Test");
FtpWebRequest request = (FtpWebRequest)WebRequest.Create(ftpUri);
request.Credentials = new NetworkCredential("ad", "şifre");
request.Timeout = -1;
request.UsePassive = true;
request.UseBinary = true;
request.KeepAlive = false;
ServicePointManager.ServerCertificateValidationCallback = AcceptAllCertifications;
request.Method = WebRequestMethods.Ftp.MakeDirectory;
using (var response = (FtpWebResponse)request.GetResponse())
{
return ftpUri.ToString();
}
}
catch (Exception ex)
{
throw ex;
}
}

public MainForm()
{

InitializeComponent();
MakeDirectory();

}
}
}





< Bu mesaj bu kişi tarafından değiştirildi Gökşen PASLI -- 29 Ocak 2018; 22:34:51 >

P
7 yıl
Çavuş
Konu Sahibi

Tamam arkadaşlar sorunu çözdüm kısaca anlatayım.
1 - Sunucunun 21 numaralı ftp portu hem gelen hem giden olarak açık olmalı.
2 - Sunucu tabi bir modem ya da routera bağlıdır aynı şekilde modeminizin arayüzüne girip yine bu portlara gelen giden şeklinde erişim izni veriyorsunuz.
3 - kodlar doğru çalışıyor ancak yolunu doğru yazmalısınız yani sadece ip yazarsanız sunucunuzun root kök dizinine dosyaları atıyor /public_html/ yazarsanız http erişim klasörüne atıyor.
4 - Ftp kullanıcı adı ve şifrenizin doğruluğunu kontrol edin ve bir ftp kullanıcısı olduğunu doğrulayın.
5 - dosya boyutu 1 gb tan büyükse stream nesnesi olduğu için hata verir çok büyük dosyaları işleyemez onun yerine dosyayı parça parça gönderiniz ya da dosyayı partlara bölüp gönderin.



DH Mobil uygulaması ile devam edin. Mobil tarayıcınız ile mümkün olanların yanı sıra, birçok yeni ve faydalı özelliğe erişin. Gizle ve güncelleme çıkana kadar tekrar gösterme.