JSF

JSF Dersleri-Dosya Yükleme(Uploading File)

Merhaba arkadaşlar. Bu yazıda bir JSF projesine dışarıdan nasıl dosya alınır onu göreceğiz.

Günlük hayatta bir yere iş başvurusu yaparken CV’mizi göndeririz ya da ödevlerimizi teslim ederken dosyaya yazıp bu dosyayı bilgisayarımızdan seçip göndeririz. Şimdi biz de bu olayın yerel bilgisayarda nasıl gerçekleştiğini göreceğiz. Örneğimizin kodları şu şekilde:

index.xhtml Kodu

Xhtml kodunda mutlaka değinmemiz gereken bir nokta var. Form etiketi içindeki enctype=”multipart/form-data” ifadesi olmadan dosya yükleme işlemini düzgün çalıştıramayız.

Bilgisayarımızdan dosya seçmek içinde <h:inputFile> etiketini kullanıyoruz.

Bean.java Kodu

Java kodumuz içinde seçilen dosyayı tutacak tür Part‘tır.  getFileName() metodu ile seçilen dosyanın ismini alıyoruz. Fakat dikkat ederseniz işlemler biraz karışık gibi duruyor. Bildiğiniz gibi dosya ağ üzerinde taşınacak. Ağ üzerinde taşınırken dosyanın birçok özelliği olur. Biz bu birçok özelliğin içinden ismi çekeceğiz. upload() metodunda ise dosyayı proje içindeki Dosyalar klasörümüze yazdırıyoruz.

Ekran Çıktıları

Çıktıların altlarına çıktıyı daha iyi anlayabilmeniz için açıklamalar yazdım.

Dosya Seç butonuna tıklayarak bilgisayarımızdan dosyayı seçiyoruz. Diğer yandan geliştirici araçlarını da açıyoruz.

Dosya Seç butonuna tıklayarak bilgisayarımızdan dosyayı seçiyoruz. Diğer yandan chrome geliştirici araçlarını da açıyoruz.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Seçilen dosyayı GÖNDER dedik ve dosya ağ üzerinden taşındı. Kırmızı daire içinde adı yazılı. Dikkat ederseniz nitelikler noktalı virgül ile ayrılmış.

Seçilen dosyayı GÖNDER dedik ve dosya ağ üzerinden taşındı. Kırmızı daire içinde adı yazılı. Dikkat ederseniz nitelikler noktalı virgül ile ayrılmış.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Dosya belirttiğimiz klasöre yazılmış.

Dosya belirttiğimiz klasöre yazılmış.

 

 

 

 

 

 

 

 

 

 

 

 

Dosya yükleme işi de bu şekilde arkadaşlar. Başka bir yazıda görüşmek üzere sağlıcakla kalın.

  • Pingback: JSF Dersleri-Dosya Yüklerken Uzantı ve Boyut Kısıtlama()

  • Zeki

    getFileName() metodu sürekli null değer dönüşü yapıyor.Orda bir yazım hatası olmuş.Aşağıdaki şekilde düzeltilebilir.

    public String getFileName(Part part){

    String filename = “”;

    for (String cd : part.getHeader(“content-disposition”).split(“;”)) {

    if(cd.trim().startsWith(“filename”)){

    filename = cd.substring(cd.indexOf(“=”)+1).trim().replace(“””, “”);

    filename = filename.substring(filename.lastIndexOf(‘/’)+1).substring(filename.lastIndexOf(‘\’)+1);

    }

    }

    return filename;

    }

    • İlkay Günel

      Merhabalar.
      Yorumunuz için teşekkür ederim. Hatayı düzelttim. Bu konuyu video derste anlattıktan sonra buradaki hatayı düzeltecektim ama unutmuştum. Hatırlatmanız iyi oldu. 🙂
      İyi çalışmalar.

  • ismail fedakar

    Valla ilkay kardeş belliki bu projeleri geliştirmek için çok uğraşmışsın ama bende hiçbiri çalışmıyor bu projelerin.. Acayip acayip şeyler oluyor. Netbeans ın hangi sürümünü kullandın ve server olarak glashfis mi yoksa tomcat mi kullandın. Bunları belirtirsen memnun olurum.